asp.net Routing 用法
2016-04-02 11:23
726 查看
http://www.cnblogs.com/youring2/archive/2011/07/22/2113595.html
asp.net 4.0中提供了Routing 的支持。通过使用routing技术,我们可以方便的构建出友好的url,即能方便用户理解,又能做到SEO的优化。
1.在Global中注册路由表
2.生成URL
一种方法是硬编码,根据上面的规则,我们可以简单的写出一个匹配的URL:/book/details/23/asp
当然,硬编码的方式是不被推荐的,它不便于维护我们的规则。在这里,我们推荐使用VirtualPathData 来生成虚拟路径,在使用的时候,我们需要提供相应的路由名称和参数列表:
在这段代码中,vpd.VirtualPath就是根据规则BookDetails生成的虚拟URL。
3.获取参数值
使用了Routing后,我们就不能再通过Request.QueryString 集合来获取URL的参数了。这是因为Routing并没有重写URL,只是将URL的处理交给了指定的页面。
这个时候,我们要获取网页的参数,就需要使用Routing中的方法了。
整个的使用流程就是这样的,首先要有规则,然后要有访问的地址,最后要能获取到实际的参数。
---------------------------------------------------------
ps. 附上一些学习资源,分别来自老赵的博客和MSDN:
http://msdn.microsoft.com/zh-cn/library/dd329551.aspx
http://msdn.microsoft.com/zh-cn/library/cc668201.aspx
http://www.cnblogs.com/JeffreyZhao/archive/2009/09/29/aspnet-routing-request-processing.html
http://www.cnblogs.com/JeffreyZhao/archive/2009/09/30/things-about-aspnet-routing.html
如果认为此文对您有帮助,别忘了支持一下哦!
asp.net 4.0中提供了Routing 的支持。通过使用routing技术,我们可以方便的构建出友好的url,即能方便用户理解,又能做到SEO的优化。
1.在Global中注册路由表
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:
http://msdn.microsoft.com/zh-cn/library/dd329551.aspx
http://msdn.microsoft.com/zh-cn/library/cc668201.aspx
http://www.cnblogs.com/JeffreyZhao/archive/2009/09/29/aspnet-routing-request-processing.html
http://www.cnblogs.com/JeffreyZhao/archive/2009/09/30/things-about-aspnet-routing.html
如果认为此文对您有帮助,别忘了支持一下哦!
相关文章推荐
- asp.net mvc源码分析-ModelValidatorProviders 客户端的验证
- HTML与Aspx的区别
- asp.net 母版页使用详解
- 修改asp.net的Ajax变更为post请求的历程
- 详细讲解Asp_net MVC上传文件与下载文件的方法
- 【dotnet跨平台】Asp.net 正在经历的变革
- Simple way to implement caching in ASP.NET Web API
- Migrating Configuration From ASP.NET MVC 5 to MVC
- Manual JSON serialization from DataReader in ASP.NET Web API
- ASP.NET的OnClientClick与OnClick事件
- 关于在asp.net后台输出提示字符串的时候显示的字符提示出错的问题
- 【Raspberry Pi】 小问题汇总
- ASP.NET-DropDownListFor绑定model数据
- OWASP-ZAP
- 在ASP.NET MVC3 中利用JSONP跨域登录WEB系统
- AOP之基于@Aspect 注解与Schema(xml)区别
- 如何创建自定义ASP.NET MVC5脚手架模板?
- metasploit命令大全。
- ASP.NET MVC 让@Html.DropDownList显示默认值
- asp网页跳转