我可以在控制器內有控制器。asp.net mvc 4控制器內的控制器
我已經有一個用戶控制器,我現在想添加一個角色控制器,但我想從用戶控制器內訪問角色控制器,如:/ users/roles/index,而不是創建另一個控制器並訪問它通過/角色/指數
我可以在控制器內有控制器。asp.net mvc 4控制器內的控制器
我已經有一個用戶控制器,我現在想添加一個角色控制器,但我想從用戶控制器內訪問角色控制器,如:/ users/roles/index,而不是創建另一個控制器並訪問它通過/角色/指數
恕我直言,你可以定義路由
//Mapping vanity url for user roles
routes.MapRoute(
"RolesRouteName", // Route name
"user/{action}/{index}/{id}",
new { controller = "roles", action = "index", id = UrlParameter.Optional}
);
,如果你想保持一個典型的REST implem作爲
@Html.RouteLink("RouteLinkText", "RolesRouteName", new { id =1212 })
使用然後我會建議避免這種情況,併爲每個根模型(用戶,角色等)分配一個控制器。
或者,如果您希望角色只能通過用戶訪問,作爲嵌套資源(意味着您要顯示,更新,只刪除特定用戶的角色),那麼您可以像這樣定義路由:
routes.MapRoute(
"RolesForUser", // Route name
"user/{userId}/{controller}/{action}/{id}",
new { controller = "roles", action = "index", id = UrlParameter.Optional}
);
所以要user/3/roles/index
一個鏈接將帶您到角色控制器的索引操作,用戶3
相反,如果你的目的是要躲在一個/user/
URL角色的管理,那麼我會去一個並進一步創建一個用戶(或管理員)在你的MVC項目(這是作爲就像在Visual Studio中右鍵單擊該項目並選擇Add -> Area...
)