MVC 4 - VIews /部分视图和表单 - 如何仅更新提交的部分视图?

时间:2013-05-21 14:24:40

标签: asp.net-mvc asp.net-mvc-4

我有一个包含表单和部分视图的MVC 4视图。主视图包含有关产品的信息,而部分视图包含产品的图像。

我想要做的是让部分视图包含它自己的形式,图像将显示在其上。如果我将此表单提交给控制器操作方法,修改它所基于的模型,然后让操作方法刷新局部视图,我的主视图的局部视图部分是否会更改而不是主视图本身?如果没有,是否有更好的方法来做我想做的事情。我只想更新主视图的局部视图部分。

1 个答案:

答案 0 :(得分:7)

如果您只想更新部分视图,则应使用AJAX调用检索数据。这样你就可以调用一个Controller,它将返回你需要的View(在本例中为Partial View)。例如:

CSHTML:

<div id="myPartialViewDiv">
    @{Html.RenderPartial("myPartialView", Model);}
</div>

JS:

searchAdmin = function () {

    var URL = "myController/myAction";

    $.get(URL, { "optionalArg": optionalArg }, function (data) {
        $("#myPartialViewDiv").html(data);
    })
}

myController的:

public JsonResult myAction(string optionalArg)
{
    // do something...

    return this.Json(whatIwantToReturn.ToList(), JsonRequestBehavior.AllowGet);
}