背景:我正在阅读史蒂文桑德森和亚当弗里曼的“ASP.Net MVC 3框架......”。
假设你有
<div id="ajax_update">
...
</div>
这部分应该通过Ajax调用来更新。我的问题是,如果您不考虑手动处理某些XML / JSON数据并依赖ResultView
作为输出,那么您可以在那里设置限制/要求。
在我提到的那本书中,有一个单一的条目:
@Html.Action(...);
因此,当触发Ajax方法时,将调用此Html.Action
以获取要显示的数据。但是,如果我将从两个部分视图构建该区域,如下所示:
<div id="ajax_update">
@Html.Action("List1");
@Html.Action("List2");
</div>
如果我想从三个部分视图构建它,如果操作来自不同的控制器会怎么样?如果...... - 那么简而言之,Ajax可更新区域的限制是什么?可以吗,不可以吗?
或者它可能非常直接 - 它是否必须是单个操作(在可更新区域中)完全匹配Ajax调用的操作?
我再一次询问处理ResultView's
数据的情况,而不是手动处理JSON数据。
对于那些喜欢具体例子的人 - 你有一个音乐列表 - 它有动作/视图 - 和标签列表(用作过滤器) - 还有动作/视图。每次点击标签都应更新音乐列表和标签列表 - 因此可更新区域包含来自两个视图的数据。
答案 0 :(得分:0)
回答我自己的问题......
Ajax可更新区域的初始内容是您想要的任何内容,这里的Ajax完全不相关。
Ajax调用是另一个故事 - 整个区域被消灭,然后来自单一动作调用的结果。最初的内容和Ajax调用的结果无论如何都不必相关。例如 - 首先你可以显示海滩的海图 AND 图片,并且在每个Ajax调用中你可以显示两张图片的当前温度 INSTEAD (假设你的后一个动作/视图呈现温度,而不是温度+图片)。
为了保留我在问题中给出的示例 - 更新音乐列表和标签列表 - 必须在一个Ajax动作调用中创建包含音乐列表和标签列表的视图。