我是MVC的新手,并没有关注你如何在网格上进行分页和排序.我习惯使用asp.Net GridView控件和指向业务层中对象的ObjectDataSource - 在这种情况下,ODS使用ORM在对象上生成的方法处理所有的分页和排序.
我已经看过使用与MVC相同的ORM - 并且事情在那里工作得很好 - 我只是循环通过集合来构建页面上的表 - 但没有ODS来处理分页和排序,我很困惑我该怎么做 我是否有一个单独的控制器用于分页和排序?
我知道我需要自己动手 - 但我从哪里开始?我创建了一个CustomerController,以及一个显示如下所示客户表的视图 - 我想对FirstName或LastName列进行排序.我的模型上有一个Sort()方法,它将采用GridView/ODS对使用的格式的字符串排序表达式.我会在我的CustomerController上创建一个名为Sort的新Action,并在我的标题中添加一个ActionLink吗?
First Name | Last Name |
---|---|
<%= Html.Encode(item.FirstName) %> | <%= Html.Encode(item.LastName) %> |
Matthijs Wes.. 38
如今MVC 3现在已经开箱即用了webGrid.我知道这个问题是从不久前开始的,但是当我找到关于webGrid的东西时,我最终得到了它.所以我认为它应该有一个答案,提到新的webGrid.
以下是一些关于如何使用它的好帖子:
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://www.nickharris.net/tag/webgrid/
它支持排序,分页和一些Ajax的东西.它可以为您做很多事情,但您也可以单独指定每个单独的列.
更新:
还有许多可用的JavaScript库可供您使用.我个人喜欢使用DataTables.您可以将其提供给服务器上生成的现有html表,或者为其提供可以检索数据的端点(全部或仅一页).
还有更多,只有谷歌.
如今MVC 3现在已经开箱即用了webGrid.我知道这个问题是从不久前开始的,但是当我找到关于webGrid的东西时,我最终得到了它.所以我认为它应该有一个答案,提到新的webGrid.
以下是一些关于如何使用它的好帖子:
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://www.nickharris.net/tag/webgrid/
它支持排序,分页和一些Ajax的东西.它可以为您做很多事情,但您也可以单独指定每个单独的列.
更新:
还有许多可用的JavaScript库可供您使用.我个人喜欢使用DataTables.您可以将其提供给服务器上生成的现有html表,或者为其提供可以检索数据的端点(全部或仅一页).
还有更多,只有谷歌.
您可以使用相同的控制器,只需添加一个额外的参数并命名它排序.然后检查控制器排序的值,并根据该参数对数据进行排序.
或者如果你想在客户端做一些事情,你可以使用诸如tablesorter之类的东西,一个用于jquery的插件.