Asp.net mvc 2 带有通用控制器的MapRoute

Asp.net mvc 2 带有通用控制器的MapRoute,asp.net-mvc-2,asp.net-mvc-routing,Asp.net Mvc 2,Asp.net Mvc Routing,是否可以使用MapRoute映射路线并指定通用控制器,例如 context.MapRoute( "Dashboard_Edit", // Route name "dashboard/edit/{*pagePath}", new { controller = "Dashboard`1", action = "edit", pagePath = "home" } ); 遗憾的是,默认控制

是否可以使用MapRoute映射路线并指定通用控制器,例如

        context.MapRoute(
            "Dashboard_Edit", // Route name
            "dashboard/edit/{*pagePath}",
            new { controller = "Dashboard`1", action = "edit", pagePath = "home" }
            );

遗憾的是,默认控制器工厂不允许这样做。类型“Dashboard`1”用于打开的泛型类型,无法构造。换句话说,对于默认控制器工厂,“控制器”的唯一允许值是符合以下伪语法的值:

IController c = new SomeControllerType();
SomeControllerType
必须有效(尽管没有“Controller”后缀或命名空间),并且必须具有无参数构造函数

您可以编写一个自定义控制器工厂,该工厂具有更高级的功能,并了解如何构造泛型类型