如何在ASP.NET MVC中设置路由以便将具有未定义控制器的路径路由到特定控制器。路由未定义的控制器
例如,我有一个UserController的,所以我想http://example.com/user路由到UserController中,但为了找到超酷工程项目
如何在ASP.NET MVC中设置路由以便将具有未定义控制器的路径路由到特定控制器。路由未定义的控制器
例如,我有一个UserController的,所以我想http://example.com/user路由到UserController中,但为了找到超酷工程项目
我相信你不应该使用http://example.com/supercoolproject地址。相反,它应该是http://example.com/project/supercool,但如果你想在http://example.com/ {}项目名称项目格式使用的地址,你可以在Global.asax中定义的规则是这样的:
routes.MapRoute(
"ProductByNameRule",
"{projectName}project",
new { controller = "Project", action = "ByName" }
);
,并有
public ActionResult ByName(string projectName) {
}
在
ProjectController
。
您可以创建一个我想http://example.com/supercoolproject路由到ProjectController定制控制器工厂来做到这一点。
http://keyvan.io/custom-controller-factory-in-asp-net-mvc
在自定义控制器工厂的IControllerFactory实施CreateController方法首先尝试创建使用DefaultControllerFactory控制器,然后如果失败创建备用控制器的实例,并返回它来代替。
不幸的是,这不是我理想的解决方案,但它暂时可行 – 2012-03-31 18:08:52