0

如果你想改变处理路由的方式,你可以在 MVC 项目中做到这一点,还是必须改变 MVC 框架?

例如,假设您在Global.asax.cs的RegisterRoutes中有标准代码:

public static void RegisterRoutes(RouteCollection routes)
{
    routes.IgnoreRoute("{resource}.axd/{*pathInfo}");

    routes.MapRoute(
        "Default",                                              // Route name
        "{controller}/{action}/{id}",                           // URL with parameters
        new { controller = "Home", action = "Index", id = "" }  // Parameter defaults
    );

}

但是让我们说您真正想要发生的是让您的自定义类拦截所有传入的请求并以特殊方式路由它们。这可以通过从 MVC 框架类继承然后自定义来完成,还是您必须实际更改框架代码?

4

1 回答 1

5

扩展,您只需要编写自定义 RouteHandler。

看着:

ASP.NET MVC,操纵 URL 结构

开发自定义 RouteHandler

或网络上的其他星球。

编辑:

您可以通过扩展 RouteBase 并将其添加到路由中来做更多的事情。

routes.Add("CoolRouter", new CoolRouter());
于 2009-07-20T15:26:53.430 回答