我是.NET mvc的新手。
在一个名为“DisplayThings”的视图中,我有以下内容:
@foreach (var thing in Model)
{
@Html.Partial("DisplayPartial", thing)
}
在部分视图“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" />
}
"Afunc"操作将模型保存到数据库,然后重定向到控制器操作以检索所有“things”并呈现整个“Displaythings”视图。
我的问题是:当我按下其中一个提交按钮(列表中有一个提交按钮),我只想重新加载/反映该部分视图对我的更改。我不想重新加载整个“Displaythings”视图。我该怎么做?如果我只返回部分视图,那么我会失去除该部分视图之外的所有内容。
如果这是一种不好的方法,请给我指示。
更新:
我仍在做一些错误的事情,因为我得到了在新页面中呈现的部分视图。我的控制器:
public ActionResult Afunc(ThingModel thingmodel)
{
// do
return PartialView("DisplayPartial", thingmodel);
}
我尝试使用UpdateTargetId和onsuccess,但结果都是打开了一个新页面。