我是 MVC 新手,并且不了解如何在网格上进行分页和排序。我习惯于使用 asp.Net GridView 控件以及指向业务层中对象的 ObjectDataSource - 在这种情况下,ODS 使用我们的 ORM 在对象上生成的方法来处理所有分页和排序。
我已经考虑过在 MVC 中使用相同的 ORM - 事情进展顺利 - 我只是循环遍历集合以在页面上构建表格 - 但没有 ODS 来处理分页和排序,我很困惑我会怎么处理。我是否需要一个单独的控制器来进行分页和排序?
我知道我需要自己动手 - 但我从哪里开始呢?我创建了一个 CustomerController 和一个显示客户表的视图,如下所示 - 我想对 FirstName 或 LastName 列进行排序。我的模型有一个 Sort() 方法,它将采用 GridView/ODS 对使用的格式的字符串排序表达式。我是否会在 CustomerController 上创建一个名为 Sort 的新操作,并将 ActionLink 放入我的标头中?
<table>
<tr>
<th>
First Name
</th>
<th>
Last Name
</th>
</tr>
<% foreach (var item in Model)
{ %>
<tr>
<td>
<%= Html.Encode(item.FirstName) %>
</td>
<td>
<%= Html.Encode(item.LastName) %>
</td>
</tr>
<% } %>
</table>
如今,MVC 3 现在拥有开箱即用的 webGrid。我知道这个问题是不久前提出的,但我在寻找有关 webGrid 的内容时最终遇到了这个问题。所以我认为它应该有一个提及新 webGrid 的答案。
这里有一些关于如何使用它的好帖子:
http://www.dotnetcurry.com/ShowArticle.aspx?ID=615 http://www.dotnetcurry.com/ShowArticle.aspx?ID=615
http://cnug.co.in/blogs/shijuv/archive/2010/10/08/using-the-webgrid-helper-in-asp-net-mvc-3-beta.aspx http://cnug.co.in/blogs/shijuv/archive/2010/10/08/using-the-webgrid-helper-in-asp-net-mvc-3-beta.aspx
http://www.nickharris.net/tag/webgrid/ http://www.nickharris.net/tag/webgrid/
它支持排序、分页以及一些 Ajax 功能。它已经可以为您做很多事情,但您也可以单独指定每个单独的列。
Update:
还有许多可用的 JavaScript 库可以为您制作表格。我个人喜欢用数据表 http://www.datatables.net/。您可以向其提供服务器上生成的现有 html 表,或者为其提供一个可以检索数据(全部或仅一页)的端点。
还有很多,只有谷歌。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)