当前位置: 代码迷 >> 综合 >> 【ASP.NET专题】(3)——ASP.NET MVC中的URL Routing
  详细解决方案

【ASP.NET专题】(3)——ASP.NET MVC中的URL Routing

热度:80   发布时间:2023-12-15 16:15:40.0

《【ASP.NET专题】(1)——ASP.NET MVC初探》:http://blog.csdn.net/rocket5725/archive/2010/01/11/5177320.aspx

留下了一个问题:我们如何想看到Index.aspx和About.aspx的页面我们应该怎么办呢?

答案就是我们可以使用URL Routing来配置一些URL的映射,使用户可以按你的规则来访问网站。

一、什么是URL Routing?

使用URL Routing,一定要规定URL模式,它包括一个位置标识,它将在你请求网页时按这个规则返回给你内容. 当然,这个创建的规则完全是由你自己定义的.
上回说道如何访问index.aspx及about.aspx?
但是http://localhost/Views/Home/Index.aspx和 http://localhost/Views/Home/About.aspx这两个地址并无法直接访问以下两个文件:Views/Home/Index.aspx 与 Views/Home/About.aspx
这是怎么回事呢,那我们要怎样才能访问呢 ?
答案是: http://localhost/Home和http://localhost/Home/About
这是为什么呢?
这就是UrlRouting的功能,而这个功能的配置是由,URL的请求规则定义的,这个规则定义在Global.asax.cs中定义。

二、基本URL Routing规则的定义

我们可以查看到Global.asax.cs的代码,如下:

注意这一点ASP.NET MVC 中URLRouting只与Controller/Action有关。

三、URL Routing解决的问题

UrlRouting是为了让Url更简短更有意义才出现的,例如:post.aspx?year=1999&month=3&day=8 的参数URL变为
/post/1999/3/8/ 这样的简短漂亮且有意义的URL

而类似home/about.aspx?id=12,以示例中的Global.asax.cs中定义的{controller}/{action}/{id}规则为列/Home/About/12其实就是访问Controller="Home" Action="About" 它的一个QueryString参数为 id="12"

四、URL Routing相关的资料

为尊重原创,现给出地址:

System.Web.Routing入门及进阶 上篇

System.Web.Routing入门及进阶 下篇

System.Web.Routing 的说明文档