And*_*eas 9 c# ajax asp.net-mvc partial-views asp.net-mvc-4
我是.NET mvc的新手.
在"DisplayThings"视图中我有类似的东西:
@foreach (var thing in Model)
{
@Html.Partial("DisplayPartial", thing)
}
Run Code Online (Sandbox Code Playgroud)
在部分视图"DisplayPartial"中我有
@using (Ajax.BeginForm("Afunc", new AjaxOptions ()))
{
@Html.EditorFor(model => model.AstringThing)
@Html.EditorFor(model => model.AintThing)
<input type="submit" name="submit" value="Ajax Post" />
}
Run Code Online (Sandbox Code Playgroud)
目前,"Afunc"-Action将模型保存到数据库,然后重定向到控制器操作以从数据库中检索所有"事物"并呈现整个"显示"视图.
我的问题是:当我按下其中一个提交按钮时(列表中的每个"东西"都有一个提交按钮).我只希望那个局部视图重新加载/反映我的变化.我不想重新加载整个"Displaythings"视图.我该怎么做呢?如果我只是返回局部视图,那么除了那个局部视图之外我会失去其他一切
如果这是一个不好的方法,请给我指示.
更新:
当我在新页面中呈现部分视图时,我仍然做错了.我的控制器:
public ActionResult Afunc(ThingModel thingmodel)
{
// do
return PartialView("DisplayPartial", thingmodel);
}
Run Code Online (Sandbox Code Playgroud)
我尝试过使用UpdateTargetId和onsuccess两个结果相同(新页面)
man*_*lds 12
在AjaxOptions
你现在只是传递,因为new AjaxOptions
你可以使用UpdateTargetId
属性指定目标元素:
<div id="unique_thing_id">
@using (Ajax.BeginForm("Afunc", new AjaxOptions { UpdateTargetId = 'unique_thing_id' }))
{
}
</div>
Run Code Online (Sandbox Code Playgroud)
在上面,表示每个"东西"具有唯一ID的容器<div id="unique_thing_id">
.这将替换为请求的repsonse.更改Afunc
为仅呈现特定的"事物"部分.
归档时间: |
|
查看次数: |
27487 次 |
最近记录: |