是否可以使用MapRoute映射路由并指定通用控制器,例如
context.MapRoute(
"Dashboard_Edit", // Route name
"dashboard/edit/{*pagePath}",
new { controller = "Dashboard`1", action = "edit", pagePath = "home" }
);
答案 0 :(得分:0)
遗憾的是,默认控制器工厂不允许这样做。 “Dashboard`1”类型用于开放泛型类型,无法构造。换句话说,对于默认的控制器工厂,“controller”的唯一允许值是可以符合以下伪语法的值:
IController c = new SomeControllerType();
SomeControllerType
必须有效(尽管没有“Controller”后缀或命名空间),并且它必须具有无参数构造函数。
您总是可以编写具有更高级功能的自定义控制器工厂,并了解如何构建泛型类型。