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

时间:2023-12-26 15:09:37

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

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

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

/Archive/12-25-2009

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

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

在这个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代码如下

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

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

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