目前我的页面上有一个表,我需要使用Ajax刷新。我打算在局部视图中渲染表,然后只调用MVC渲染部分更新,这本来很简单。
但是,我已经在表的标题中添加了一堆排序/过滤控件。我现在想刷新表的内容而不丢失标题行中的这些信息。
我不确定最干净的解决办法是什么。我的表可能包含大约500行。有人可以提供一些建议吗?感谢
答案 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模板可能是一个可行的解决方案。
以下可能有所帮助。
另一个选择是服务器端呈现以呈现tr
并仅更新表的tbody
元素,假设您有一个带有tbody
部分的表和一个{ {1}}包含您的过滤器的部分。 ajax函数设置需要thead