我有一个包含表单和部分视图的MVC 4视图。主视图包含有关产品的信息,而部分视图包含产品的图像。
我想要做的是让部分视图包含它自己的形式,图像将显示在其上。如果我将此表单提交给控制器操作方法,修改它所基于的模型,然后让操作方法刷新局部视图,我的主视图的局部视图部分是否会更改而不是主视图本身?如果没有,是否有更好的方法来做我想做的事情。我只想更新主视图的局部视图部分。
答案 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);
}