ASP.NET Routing是个模式匹配系统
•应用程序使用路由表注册一种或多种模式,告诉路由系统如何处理这些与模式匹配的请求。
•路由引擎在运行时接收到请求以后,它就会根据事先注册的URL模式匹配当前请求的URL。
•当路由引擎在路由表里发现匹配的模式时,它就会把请求转发给特定的处理器来处理请求;反之,返回404状态错误。
一、Routing——网址路由
网址路由(Routing)在ASP.NET MVC中有两个主要目的,分别是比对通过浏览器传来的HTTP要求与响应适当的网址给浏览器。
1.比对通过浏览器传来的HTTP要求
这个部分是为了让客户端对ASP.NET网站进行请求时,能够通过网址路由查找适当的HttpHandler来处理网页。
2.响应适当的网址给浏览器
网址路由的另一个重要功能是决定ASP.NET MVC应该输出什么样的网址响应给浏览器。如Html.ActionLink。
3.默认网址路由属性解说
所有ASP.NET Web应用程序运行的入口点就在HttpApplication的Application_Start()事件,在Global.asax文件中。
二、HTTP请求的URL如何对应网址路由
按照ASP.NET Routing的规则,当HTTP请求进来时,请求的URL会进行网址路由的比对,而且是由上而下一条一条地比对,直到发现符合的网址格式才停止比对。
1.网址路由演示
routes.MapRoute("","Public/{controller}/{action}",new{controller="Home",action="Index"});
匹配的输入网址,可以是http://mysite.com/Public/Home/Index。
2.替网址路由加上路由值的条件约束
三、网址路由如何在ASP.NET MVC中生成网址