是否有可能調用控制器動作來更新(刷新)視圖中的部分更新模型?如果是這樣,有人可以指點我一個例子嗎?ASP.NET MVC 2:更新部分?
我在做一個ajax調用。該調用將一些json發送給控制器。控制器提取json並將其格式化爲XML,然後傳遞給SPROC。 SPROC的結果更新模型。這是我需要用最新的模型結果更新視圖的地方。
是否有可能調用控制器動作來更新(刷新)視圖中的部分更新模型?如果是這樣,有人可以指點我一個例子嗎?ASP.NET MVC 2:更新部分?
我在做一個ajax調用。該調用將一些json發送給控制器。控制器提取json並將其格式化爲XML,然後傳遞給SPROC。 SPROC的結果更新模型。這是我需要用最新的模型結果更新視圖的地方。
是的,你只需要讓動作返回PartialView及其更新的模型。調用代碼可能是這樣的:
<div id="MyDiv"></div>
<%=Ajax.ActionLink("Update", "GetUpdatedPartialView",
new AjaxOptions{UpdateTargetId = "MyDiv"}) %>
當你點擊鏈接,通過您的操作返回的HTML將得到安置爲與ID「MyDiv」股利。
編輯
我沒有我的代碼與我,但如果我記得沒錯它是這樣的:
var url = '<%=Url.Action("GetUpdatedPartialView")%>';
$.post(url, function(data) {$('#MyDiv').html(data);});
這怎麼能使用jQuery ajax完成?我沒有使用actionlink,而是一個Ajax函數。 – dcolumbus 2010-12-16 00:29:23
@dcolumbus:看我的編輯 – StriplingWarrior 2010-12-16 04:02:23
在控制器,你可以這樣做:
if (Request.IsAjaxRequest()) {
return View(name_of_partial, updated_model);
}
在前端,它只是一個jQuery load,是這樣的:
$("#target-div").load(url_of_action, data_to_send);
告訴我們更多。這是一個Ajax場景嗎? – 2010-12-16 00:22:09
@Matt,是的,我使用jQuery進行ajax調用。 ajax發送json,我的控制器接受json並將其轉換爲一個字符串來調用SPROC。我試圖然後採取更新的模型,並將其傳遞給部分。 – dcolumbus 2010-12-16 00:26:42