更新两个关于AJAX成功的DIV - 结合JavaScriptResult& PartialViewResult?

时间:2009-05-17 10:14:16

标签: jquery asp.net-mvc

目前我有一个jQuery对Controller进行POST,返回一个ContentResult。当OnSuccess事件从jQuery触发时,它会使用返回的数据更新div。我现在想用模型数据更新另一个DIV。

我在想我的视图中有一个RenderPartial,做一个帖子并返回一个PartialResult来处理这个新的div但是我之前填充的DIV呢?

是否可以组合JavaScriptResult和PartialResult? JavaScript结果处理我提到的第一个DIV和PartialResult新DIV。

由于

2 个答案:

答案 0 :(得分:0)

虽然它会在管道上添加更多噪音,但我认为更清晰的选择是从控制器单独调用以获取额外的PartialResult,可能是在OnSuccess事件中。

答案 1 :(得分:0)

我就是这样做的。

我的主视图现在有一个RenderPartial(“PartialViewName”,Model)。

在Partial视图的顶部,我检查ViewData [“AJAXReturn”]是否为空。如果不是,我调用另一个部分视图并传入包含原始AJAX响应的ViewData [“AJAXReturn”]项。

在我的Controller操作方法中,我将原始响应消息添加到ViewData [“AJAXReturn”],然后我调用方法来更新我的模型数据并返回PartialView(“PartialViewName”,UpdatedModel)。

现在ViewData不为null,因此通过ViewData填充原始DIV,并使用新模型调用PartialView呈现第二个DIV。这是由jQuery帖子中的OnSuccess事件完成的,该事件执行$('#containeddiv')。html(responsefromPartialViewreturn);

希望这有助于某人。