ASP.NET MVC框架 (第二部分): URL路径选择2011-07-19 blog.joycode.com Sailing第一部分的扼要简述在这个系列的第一部分里,我们创建了一个电子商务网站,呈示了三类URL:
| URL格式 | 行为 | URL例子 |
| /Products/Categories | 浏览所有的产品分类 | /Products/Categories |
| /Products/List/Category | 列出一个分类中的产品 | /Products/List/Beverages |
| /Products/Detail/ProductID | 显示一个特定产品的细节 | /Products/Detail/34 |
我们通过创建象下面这样一个ProductsController类来处理这些URL:

在把上面这个类加到我们的应用中后,ASP.NET MVC框架就会把进来的URL自动导向到我们的控制器上的适当的action方法来处理请求。在今天的贴子里,我们将深入讨论这个URL映射是如何发生的,以及探讨我们可以在ASP.NET MVC框架中利用的更高级的路径选择(routing )场景。我还将示范你如何可以轻松地单元测试URL路径选择场景。ASP.NET MVC URL路径选择系统都做些什么?ASP.NET MVC框架包括了一个很灵活的URL路径选择系统,它允许你在应用中定义URL映射规则。路径选择系统有2个主要目的:把进来的URL映射到应用,并把它们做导向,这样,正确的Controller和Action方法执行来处理这些请求构建可以用来回调Controllers/Actions的输出到客户端的URL(例如,表单提交, <a href=""> 链接, 和 AJAX 调用等 等)能够使用URL映射规则来同时处理进来的和输出的URL场景给应用代码添加了许多灵活性。这意味着,如果我们以后想改变应用的URL结构的 话(譬如,把 /Products 改名为 /Catalog),我们可以修改应用层次的一套映射规则即可,而不需要改动控制器或视图模板中的任何代码。默认的ASP.NET MVC URL路径选择规则在默认情形下,当你使用Visual Studio用ASP.NET MVC Web Application模板来创建一个新项目时,它会往项目里添加一个ASP.NET Application类。这是在Global.asax后台代码中实现的: