为ASP.NET MVC应用添加自定义路由


  本文标签:ASP.NET MVC应用 自定义路由

  这里,我们将学习如何给asp.net mvc应用添加自定义路由  。用自定义路由来修改默认路由表  。

  对一些简单的asp.net mvc应用,默认的路由表就已经足够了  。但是,当你需要创建特殊的路由时,就需要创建自定义路由了  。

  假设正在进行一个blog项目的开发,希望处理用户的请求地址如下:

  /Archive/12-25-2009

  当用户输入这个URL时,你想返回日期12-25-2009的blog入口,为了实现这个路由,需要添加自定义路由  。

为了实现这个路由,需要添加自定义路由 

  在这个asp.net mvc应用中,这个方法中含有一个自定义路由,叫做blog,它可以接受像/Archive/entydate类型的url  。

  这里我们需要把自定义的路由放在默认路由的上面,如果颠倒了,则还是总会请求默认的路由表  。

  我们自定义的路由会匹配以archive开头的url,像下面这些url都会被它处理  。

  /Archive/12-25-2009

  /Archive/10-6-2004

  /Archive/apple

  自定义路由映射请求的url为ArchiveController,并且执行Entry()action  。当entry方法被调用时,entrydate被作为该方法的参数传递过来  。

  ArchiveController代码如下

ArchiveController代码 

  我们看到,entry方法接受了一个datetime类型的参数,mvc框架足够的漂亮来自动转换entrydate为datetime类型,如果url中的entrydate不能顺利转换为datetime,则会报错  。

  以上就是asp.net mvc应用中自定义路由的方法  。