Asp.Net MVC Ajax刷新表内容

时间:2010-07-15 11:16:31

标签: jquery ajax asp.net-mvc-2 refresh partial-views

目前我的页面上有一个表,我需要使用Ajax刷新。我打算在局部视图中渲染表,然后只调用MVC渲染部分更新,这本来很简单。

但是,我已经在表的标题中添加了一堆排序/过滤控件。我现在想刷新表的内容而不丢失标题行中的这些信息。

我不确定最干净的解决办法是什么。我的表可能包含大约500行。有人可以提供一些建议吗?感谢

3 个答案:

答案 0 :(得分:0)

我对返回json数据的动作使用ajax调用,并使用jquery或某些类似的librery处理客户端上的呈现。我认为这是使用MVC的最佳方式

答案 1 :(得分:0)

首先,让你的表成为局部视图并将表放在div中并给出一个ID(类似“mytablediv”)

在您的视图中,使用Html.RenderPartial

参考部分视图

在javascript中需要刷新部分调用时,如下所示: (我假设jquery可用)

$('#mytablediv').load(url /* of the partial view*/);

这将从您的局部视图中获取更新的html,并将其替换为您拥有的内容。

答案 2 :(得分:0)

我认为javascript模板可能是一个可行的解决方案。

以下可能有所帮助。

  1. jQuery templating engines
  2. http://weblogs.asp.net/scottgu/archive/2010/05/07/jquery-templates-and-data-linking-and-microsoft-contributing-to-jquery.aspx
  3. 另一个选择是服务器端呈现以呈现tr并仅更新表的tbody元素,假设您有一个带有tbody部分的表和一个{ {1}}包含您的过滤器的部分。 ajax函数设置需要thead