0
我想玩與我的ASP.NET MVC3應用程序中的路線是可能的,並嘗試減少我的一些映射代碼。我正在使用我的應用程序跨越多個不同的實體來嘗試使用常見的UserController/View。例如,您有商店和公司,並且每個都有自己的一組用戶。有什麼辦法可以減少以下兩條路線:ASP.NET MVC3路線映射減少幫助
routes.MapRoute(
"StoreUsers", // Route name
"Store/Details/{entityID}/User/Index", // URL with parameters
new { controller = "User", action = "StoreIndex"} // Parameter defaults
);
routes.MapRoute(
"CompanyUsers", // Route name
"Company/Details/{entityID}/User/Index", // URL with parameters
new { controller = "User", action = "CompanyIndex"} // Parameter defaults
);
要什麼類似的東西?
routes.MapRoute(
"EntityUsers", // Route name
"{entity}/Details/{entityID}/User/Index", // URL with parameters
new { controller = "User", action = entity + "Index"} // Parameter defaults
new { entity = "(Store|Company)" } //Parameter constraints
);
並具有{動作}參數(和{動作}默認值)設置爲:{實體} +「索引」,因此它可以被用於相匹配的約束實體的實體。
我在這裏只減少2條路由到1,但我真正的問題涉及更多,然後只是這兩個實體,如果我能得到這個工作,我可以使用此爲其他控制器必須模仿相同的功能和其他操作(創建,編輯等)。
感謝