我是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相关问答推荐

使用 aspnet core SignalR 客户端为 VSIX 项目.

在这个 For 循环计数没有增加

分层架构中的 ASP.NET 和实体框架 - 仅将实体框架用于 ORM

如何从 ASP.NET 中的代码隐藏文件访问 IFRAME?

创建项目 ASP.NET Core (.NET Core) 和 ASP.NET Core (.NET Framework) 有什么区别

如何在asp.net中单击按钮的新选项卡中打开页面?

在 C# 中以编程方式添加元标记

在 RedirectToAction 调用中传播 QueryString 参数

asp.net mvc 中的 RedirectToAction 用法

多行文本框多个换行符

将复选框的值传递给 asp.net mvc4 中的控制器操作

Twitter bootstrap glyphicons 不会出现在发布模式 404 中

aspx 文件中的 if 语句

如何从 JS 访问 ViewBag

Fiddler 没有从 ASP.NET 网站嗅探 SOAP 流量

使用 NLog 在 ASP.NET Web API 2.1 中进行全局异常处理?

如何从 ASP.NET Identity 获取用户列表?

配置授权服务器端点

ASP.NET Web 窗体中的 jQuery 验证插件

Session.Clear() 与 Session.RemoveAll()