【问题标题】:ASP.NET MVC. Clean way to implement persistant sorting?ASP.NET MVC。实现持久排序的干净方法?
【发布时间】:2010-10-16 19:22:04
【问题描述】:

我还没有找到任何通过 ASP.NET MVC 中的分页实现排序的示例
(按名称排序->按第2页->第2页仍然按名称排序)。

我可以“破解”它,让它变脏,但我确信必须有很好的“操作方法”指南。

按两列排序呢?

【问题讨论】:

    标签: asp.net-mvc sorting paging jquery-ui-sortable


    【解决方案1】:

    只需将排序表达式保留在模型视图中并将其写入分页路由链接即可。
    比如像:

    /MyEntity/Page/2?sort=Name
    

    或者使用自定义路由,例如:

    /MyEntity/Page/2/Name
    

    对于后者,路由映射如下所示:

    {controller}/Page/{pageIndex}/{sortExpression}
    

    【讨论】:

    • 如果我没记错的话——让我感到困惑的是我的观点“必须知道”,正如我所想的那样——数据库结构。你知道 - 排序表达式是一种带有列名的映射。有趣的。发现我有多愚蠢总是很高兴。
    【解决方案2】:

    我完全按照 aleris 的方式进行操作,只是我在模型上使用枚举字段作为排序值,这样,如果他们输入不存在的排序参数,它将回退到默认值。

    public enum SortArticle
    {
       Title,
       Published
    }
    
    public enum SortOrder
    {
       Asc,
       Desc
    }
    
    articles/{sort}/{order}/{page}
    articles/published/desc/1
    

    【讨论】:

    • 这些答案让我不那么困惑了。仍然可以t visualize this A-Z. Ill 尝试为自己创建一个小示例项目。如果这会成功,Aleris 将得到我的“接受的答案”。 :)
    猜你喜欢
    • 2015-12-22
    • 2022-01-03
    • 1970-01-01
    • 2010-09-21
    • 1970-01-01
    • 2010-10-09
    • 2018-10-09
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多