我是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>

推荐答案

您可以使用相同的控制器,只需添加一个附加参数并将其命名为sort.然后在控制器中判断sort的值,并根据该参数对数据进行排序.

或者,如果你想在客户端做一些事情,你可以使用类似于tablesorter的东西,一个jquery插件.

Asp.net相关问答推荐

从组件属性调用异步方法的正确方法

如何正确配置 IHttpModule?

如何在 C# 中生成一个随机的 10 位数字?

如何在没有 Select 按钮的情况下在 GridView 中实现全行 Select ?

此版本的 SQL Server 不支持用户实例登录标志.连接将关闭

为什么微软决定支持 jQuery 如此重要?

捕获对 ASP.NET ASMX Web 服务的 SOAP 请求

是否可以访问位于另一个项目中的 MVC 视图?

如何使用 javascript 获取 MVC 应用程序的基本 URL

如何使用 json 将复杂类型传递给 ASP.NET MVC 控制器

异步编程与线程有什么不同?

在 cookie 中存储多个值

我应该使用用户名还是用户 ID 来引用 ASP.NET 中经过身份验证的用户

新的 ASP.NET MVC 5 应用程序如何知道如何创建数据库以及帐户控制器如何访问数据库?

更改后未应用 CSS

如何针对异常需求自定义 ASP.NET Web API AuthorizeAttribute

如何获取当前登录用户的角色列表

ASP.NET web.config:system.web.compilation 中的 debug 属性的默认值是什么?

VS 2010 中缺少 App_Code 文件夹

如何判断字符串的第一个字符是否是字母,C#中的任何字母