如何在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