是否有可能调用控制器动作来更新(刷新)视图中的部分更新模型?如果是这样,有人可以指点我一个例子吗?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