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"}
});

[Orchard] 通过指定RouteData设置Pager的链接地址的更多相关文章

  1. 055——VUE中vue-router之路由参数的随意设置与伪静态链接地址处理:

    <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8&quo ...

  2. 关于使用连接器arm-linux-ld时指定链接地址的作用

    首先,记住一句话:程序的链接地址必须等于运行地址! 在学习exynos 4412的启动过程时,发现自己对链接地址的作用不是很了解,于是上网查找了资料做了基本了解,在此做个总结. 上图是exynos 4 ...

  3. Java设置Client Socket链接Server超时时间

    Java设置Client Socket链接Server超时时间 学习了:http://blog.csdn.net/tterminator/article/details/52494141 http:/ ...

  4. jsfl脚本设置导出AS链接名遇到的奇怪问题

    今天写jsfl脚本发现一个奇怪的问题,脚本用于对库对象设置AS链接名,代码如下: var item = fl.getDocumentDOM().library.items[0];var exportN ...

  5. SEO -- WordPress怎设置百度站长链接自动提交

    百度站长平站更新了主动推送(实时)推送的方式,受到了广大站长的好评,但是对于使用WordPress的网站来说怎么设置自动提交呢,在这里介绍一种比较简单且有效的方法.我们可以使用 WP BaiDu Su ...

  6. iOS-UIView指定圆角设置

    圆角设置可以指定左上.左下.右上.右下角:单个指定或多个指定. ///设置圆角[左上.右上角] - (void)setCircular{ UIBezierPath *maskPath = [UIBez ...

  7. uboot 链接地址与运行地址的区别

    对于ARM架构的CPU,上电后PC寄存器是指向0地址处的,从这个地址开始运行程序,那么运行了启动代码后会把程序搬移到内存中去运行,这样就是产生程序会在运行时有个两地址,而由源码编译为可执行文件时只会指 ...

  8. 使用Unified Communications Managed API获取Lync在线会议的链接地址

    最近在项目上遇到一个问题,需要能够在程序中获取Lync会议的链接地址.Lync是微软出品的一套即时通信(IM)客户端软件,配合Microsoft Lync Server使用,其前身是Microsoft ...

  9. Spring mvc创建的web项目,如何获知其web的项目名称,访问具体的链接地址?

    Spring mvc创建的web项目,如何获知其web的项目名称,访问具体的链接地址? 访问URL:  http://localhost:8090/firstapp/login 在eclipse集成的 ...

随机推荐

  1. Linux:去除认证,加速 SSH登录

    编辑配置文件 /etc/ssh/sshd_config vim /etc/ssh/sshd_config 找到 UseDNS选项,如果没有注释,将其注释 #UseDNS yes 添加 UseDNS n ...

  2. 使用Form Builder创建Form具体步骤

    使用Oracle Form Builder创建Form具体步骤 (Data Source为Table) 说明:当Block使用的Data Source为Table时,Form会自动Insert,Upd ...

  3. findstr 命令

    body { font-family: Bitstream Vera Sans Mono; font-size: 11pt; line-height: 1.5; } html, body { colo ...

  4. netstat大量time_wait连接

    http://chembo.iteye.com/blog/1503770 http://www.2cto.com/os/201007/54067.html http://blog.csdn.net/d ...

  5. Hibernate对象的状态

    站在持久化的角度, Hibernate 把对象分为 4 种状态: 1. 持久化状态 2. 临时状态 3. 游离状态 4. 删除状态 Session 的特定方法能使对象从一个状态转换到另一个状态. 下面 ...

  6. LVS集群类型

    一.LVS-NAT 简述:多目标的DNAT,通过Director修改请求报文中的目标地址和端口为LVS挑选出来的某RS的RIP和PORT实现转发 特点: (1)RIP和DIP必须在同一网络,且应该使用 ...

  7. .net批量插入SqlServer数据库的方法:

    using System;using System.Collections.Generic;using System.Configuration;using System.Data;using Sys ...

  8. Java 基础知识总结 (二、基本数据类型)

    二.基本数据类型 java基本数据类型只能先声明后使用 boolean  true/false char 16-bit unicode character byte 8-bit integer sho ...

  9. python学习笔记-Day6(1)

    shelve模块是一个简单的k,v将内存数据通过文件持久化的模块,可以持久化任何pickle可支持的python数据格式 >>> s=shelve.open('test') > ...

  10. 在Mac OS X中配置Apache

    启动Apache 有两种方法: 打开“系统设置偏好(System Preferences)” -> “共享(Sharing)” -> “Web共享(Web Sharing)” 打开“终端( ...