asp.net Routing 用法
http://www.cnblogs.com/youring2/archive/2011/07/22/2113595.html
asp.net 4.0中提供了Routing 的支持。通过使用routing技术,我们可以方便的构建出友好的url,即能方便用户理解,又能做到SEO的优化。

void Application_Start(object sender, EventArgs e)
{
// 在应用程序启动时运行的代码
this.RegisterRoutes(RouteTable.Routes);
} void RegisterRoutes(RouteCollection routes)
{
routes.MapPageRoute("BookDetails",
"book/details/{index}/{keyword}",
"~/book/details.aspx",
false,
new RouteValueDictionary()
{
{ "index", "1" },
{"keyword", ""}
}
);
}

2.生成URL
一种方法是硬编码,根据上面的规则,我们可以简单的写出一个匹配的URL:/book/details/23/asp
当然,硬编码的方式是不被推荐的,它不便于维护我们的规则。在这里,我们推荐使用VirtualPathData 来生成虚拟路径,在使用的时候,我们需要提供相应的路由名称和参数列表:

RouteValueDictionary parameters = new RouteValueDictionary()
{
{"index", "19" },
{"keyword", "Tom" },
}; VirtualPathData vpd = RouteTable.Routes.GetVirtualPath(null, "BookDetails", parameters);
hlCreateURL.NavigateUrl = vpd.VirtualPath;

在这段代码中,vpd.VirtualPath就是根据规则BookDetails生成的虚拟URL。
3.获取参数值
使用了Routing后,我们就不能再通过Request.QueryString 集合来获取URL的参数了。这是因为Routing并没有重写URL,只是将URL的处理交给了指定的页面。
这个时候,我们要获取网页的参数,就需要使用Routing中的方法了。
this.Page.RouteData.Values["index"];
this.Page.RouteData.Values["keyword"];
整个的使用流程就是这样的,首先要有规则,然后要有访问的地址,最后要能获取到实际的参数。
---------------------------------------------------------
ps. 附上一些学习资源,分别来自老赵的博客和MSDN:
如果认为此文对您有帮助,别忘了支持一下哦!
asp.net Routing 用法的更多相关文章
- 005. Asp.Net Routing与MVC 之三: 路由在MVC的使用
上次讲到请求如何激活Controller和Action,这次讲下MVC中路由的使用.本次两个关注点: 遗留:ModelBinder.BindModel的过程 MVC中路由的使用 MVC 5中的Acti ...
- ASP.NET路由[ASP.NET Routing]
ASP.NET路由[ASP.NET Routing] ASP.NET路由允许你在使用URL时不必匹配到网站中具体的文件,因为这个URL不必匹配到一个文件,你使用了描述用户行为且更容易被用户理解的URL ...
- .NET/ASP.NET Routing路由(深入解析路由系统架构原理)
阅读目录: 1.开篇介绍 2.ASP.NET Routing 路由对象模型的位置 3.ASP.NET Routing 路由对象模型的入口 4.ASP.NET Routing 路由对象模型的内部结构 4 ...
- 003. Asp.Net Routing与MVC 之一: 请求如何到达MVC
基础知识 本文用到的基础知识:URL.HttpModule 与 HttpHandler.IIS 的请求处理过程. URL HttpModule与HttpHandler IIS7.0的请求处理过程 OK ...
- .NET/ASP.NET Routing路由(深入解析路由系统架构原理)http://wangqingpei557.blog.51cto.com/1009349/1312422
阅读目录: 1.开篇介绍 2.ASP.NET Routing 路由对象模型的位置 3.ASP.NET Routing 路由对象模型的入口 4.ASP.NET Routing 路由对象模型的内部结构 4 ...
- NET/ASP.NET Routing路由(深入解析路由系统架构原理)(转载)
NET/ASP.NET Routing路由(深入解析路由系统架构原理) 阅读目录: 1.开篇介绍 2.ASP.NET Routing 路由对象模型的位置 3.ASP.NET Routing 路由对象模 ...
- ASP.NET Routing
ASP.NET Routing Other Versions ASP.NET routing enables you to use URLs that do not have to map to ...
- 一、ASP.NET Routing路由(深入解析路由系统架构原理)
阅读目录: 1.开篇介绍 2.ASP.NET Routing 路由对象模型的位置 3.ASP.NET Routing 路由对象模型的入口 4.ASP.NET Routing 路由对象模型的内部结构 4 ...
- 001. Asp.Net Routing与MVC 之(基础知识):URL
URL(Uniform Resoure Locator:统一资源定位器)是WWW页的绝对地址.URL地址格式排列为:scheme://host:port/path. 例如 http://www.zn. ...
随机推荐
- Linux线程的实现 & LinuxThread vs. NPTL & 用户级内核级线程 & 线程与信号处理
另,线程的资源占用可见:http://www.cnblogs.com/charlesblc/p/6242111.html 进程 & 线程的很多知识可以看这里:http://www.cnblog ...
- mybatis批量更新 UPDATE mysql
oracle和mysql数据库的批量update在mybatis中配置不太一样: oracle数据库: <update id="batchUpdate" parameterT ...
- laravel 中 与前端的一些事3 之使用Gulp编译less
更多关于less的使用方法,参考上一篇scss的使用,两者大同小异
- Xcode创建Object-C程序
一. Xcode 环境安装 与 工程创建 1. 下载环境 相关资源下载 : -- IOS 相关资料下载页面 : https://developer.apple.com/devcenter/ios/i ...
- Ipad Safari iframe cookie 当浏览器默认禁用第三方COOKIE
前一阵子,我们发现高版本的Safari中默认会阻止第三方cookie,如下图所示. 问题 什么是第三方cookie呢?在访问一个网站A时,网站A算作第一方,如果网站A中引用了另一个网站X(网站X的域名 ...
- css知识点积累
关于样式的优先级问题: !important > style > [ id > class > tag ]; z-index 的属性用法: z-index属性是用来设置元素的 ...
- 安卓使用pull解析器解析XML文件
学习一下: public class MainActivity extends Activity { List<City> cityList; @Override protected vo ...
- WPF自定义窗口基类
WPF自定义窗口基类时,窗口基类只定义.cs文件,xaml文件不定义.继承自定义窗口的类xaml文件的根节点就不再是<Window>,而是自定义窗口类名(若自定义窗口与继承者不在同一个命名 ...
- 解决 iOS7 通过tag 找不到 UITableViewCell 的子控件
当iOS7问世,程序的世界就混乱了,以前良好的程序,现在是一塌糊涂,于是只能把问题一个一个攻破. 由于项目当中需要每个cell显示数目不同的图片,于是我在每个cell 赋值之前,通过一下方法把cell ...
- ubuntu 配置JDK环境
/etc/profile中加入以下代码 JAVA_HOME为JDK包解压的路径export JAVA_HOME=/home/exayong/jvm/jdk1.8.0_111 export JRE_HO ...