ASP.NET MVC自定义 - 继承或更改框架

Bud*_*Joe 0 .net asp.net-mvc customization maproute

如果你想改变这种途径进行处理的方式可以做什么,在一个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
    );

}
Run Code Online (Sandbox Code Playgroud)

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

Mik*_*liy 5

扩展,你只需要编写自定义RouteHandler.

看着:

ASP.NET MVC,操作URL结构

开发自定义RouteHandler

或网络上的其他平面.

编辑:

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

routes.Add("CoolRouter", new CoolRouter());
Run Code Online (Sandbox Code Playgroud)