【发布时间】:2012-02-01 17:09:33
【问题描述】:
我想知道是否可以在 ASP.NET MVC 3.0 中异步更新视图的一部分而不将该部分移动到局部视图中。在 webforms 模型中,我可以在一个页面中包含所有标记,但我仍然可以通过在更新面板上指定目标 div 来更新页面的一部分,而无需将该部分移动到单独的用户控件中。仅当 HTML 片段在多个视图中使用时,部分视图才有用。仅出于异步更新的目的创建局部视图将导致页面的 HTML 分散在多个文件中。我正在使用 Ajax.BeginForm() 对服务器进行 ajax 调用。 相关文章 http://blogs.msdn.com/b/stuartleeks/archive/2011/04/13/asp-net-mvc-partial-rendering-and-ajaxattribute.aspx
【问题讨论】:
-
你想用什么来更新这个部分?使用 jquery,您可以更改页面上任何内容的值。
-
我有一个填充了一些数据的网格,我需要使用用户提供的值对其进行过滤。 jQuery的问题是,我需要以Json格式获取数据并在代码中手动构建html(除非有更好的方法)。我喜欢简单的 MS Ajax 助手,它的代码更少且优雅。
-
jquery 有很多网格插件(可能太多了)。
-
在 webforms 中,当您只更新页面的一部分时,实际上您仍在渲染所有部分。在 MVC 中,鼓励您只渲染更新的部分(使用部分视图)。如果您不想使用部分视图,您仍然可以使用旧方法.. 只需使用 jQuery 到
$('#partToUpdate').load('http://www.mysite.com/page #partToUpdate')注意:如果发布,您需要使用带有回调函数的$.ajax()或$.post()你想要的数据。
标签: jquery ajax asp.net-mvc asp.net-mvc-3