Я пытаюсь поэкспериментировать с маршрутами в моем приложении ASP.NET MVC3 и попытаться уменьшить часть моего кода отображения.Я использую, пытаясь использовать общий UserController / View для моего приложения в нескольких различных объектах.Например, у вас есть магазины и компании, и у каждого есть свой набор пользователей.Есть ли способ уменьшить следующие два маршрута:
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
);
и установить параметр {action} (и значение {action} по умолчанию)to: {entity} + "Index", чтобы его можно было использовать для объекта, который соответствует ограничениям.
Я уменьшаю только 2 маршрута до 1, но моя настоящая проблема связана не только с этими двумя объектами, и если я смогу заставить это работать, я могу использовать это для других контроллеров, которые должны имитировать то же самоефункциональность и другие действия (создание, редактирование и т. д.).
Спасибо