我有一個MVC 4查看包含窗體和部分視圖。主視圖包含有關產品的信息,部分視圖包含產品的圖像。MVC 4 - VIews /部分視圖和表單 - 如何更新提交的部分視圖?
我想要做的是讓局部視圖包含它自己的形式,圖像將顯示在上面。如果我將此表單提交給控制器操作方法,請修改其基於的模型,然後讓操作方法刷新部分視圖,只是我的主視圖的部分視圖部分會更改,而不是主視圖本身?如果沒有,是否有更好的方法來做我想做的事情。我只想更新主視圖的局部視圖部分。
我有一個MVC 4查看包含窗體和部分視圖。主視圖包含有關產品的信息,部分視圖包含產品的圖像。MVC 4 - VIews /部分視圖和表單 - 如何更新提交的部分視圖?
我想要做的是讓局部視圖包含它自己的形式,圖像將顯示在上面。如果我將此表單提交給控制器操作方法,請修改其基於的模型,然後讓操作方法刷新部分視圖,只是我的主視圖的部分視圖部分會更改,而不是主視圖本身?如果沒有,是否有更好的方法來做我想做的事情。我只想更新主視圖的局部視圖部分。
如果您只想更新部分視圖,您應該使用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);
}
謝謝Zed。而不是我的操作方法返回一個JsonResult,它可以返回一個ActionResult。在這種情況下,我將只返回部分視圖所基於的模型。所有這些我都很新。 – Hosea146
是的,你可以在這個[post]中看到如何做到這一點(http://stackoverflow.com/questions/4730777/mvc-return-partial-view-as-json) –
可以使用AJAX張貼形式的信息,然後使用jQuery重新加載局部視圖。 – lopezbertoni