zoukankan      html  css  js  c++  java
  • [Orchard] 通过指定RouteData设置Pager的链接地址

    Orchard 中的Pager是一个很方便的用来分页的Shape, 但默认情况下,它是使用当前Action的地址作为链接地址,如果分页的数据要是由别的Action提供时,这样的分页链接就不对了,其实它是支持自定义Action的,在Pager的源代码中

                var routeData = new RouteValueDictionary(Html.ViewContext.RouteData.Values);
                var queryString = _workContext.Value.HttpContext.Request.QueryString;
                if (queryString != null) {
                    foreach (var key in from string key in queryString.Keys where key != null && !routeData.ContainsKey(key) let value = queryString[key] select key) {
                        routeData[key] = queryString[key];
                    }
                }
    
                // specific cross-requests route data can be passed to the shape directly (e.g., Orchard.Users)
                var shapeRoute = (object)Shape.RouteData;
    
                if (shapeRoute != null) {
                    var shapeRouteData = shapeRoute as RouteValueDictionary;
                    if (shapeRouteData == null) {
                        var route = shapeRoute as RouteData;
                        if (route != null) {
                            shapeRouteData = (route).Values;    
                        }
                    }
    
                    if (shapeRouteData != null) {
                        foreach (var rd in shapeRouteData) {
                            routeData[rd.Key] = rd.Value;
                        }
                    }
                }

    可以看到,设置RouteData,可以改变默认的routeData,这样使用起来也很方便:

                    Pager = Shape.Pager(pager)
                        .TotalItemCount(totalItemCount)
                        .RouteData(new RouteValueDictionary  
                            {
                                {"action", "Table"}
                            });
  • 相关阅读:
    正则表达式
    webfrom 母版页
    repeater的command事件用法
    JVM进程cpu飙高分析
    @Transactional导致无法动态数据源切换
    mysql分页查询优化(索引延迟关联)
    MAC下安装Homebrew 和 @权限的问题
    RabbitMQ安装以及集群部署
    RabbitMQ 延时消息队列
    java 实现生产者-消费者模式
  • 原文地址:https://www.cnblogs.com/zhongzf/p/3475603.html
Copyright © 2011-2022 走看看