#asp.net-mvc-3 #routes
#asp.net-mvc-3 #маршруты
Вопрос:
Я настроил свое приложение MVC3 на использование областей ( /Company1
, /Company2
, и т.д.).
Я успешно выполняю вызов /Company1/{controller}/{action}
, и я хотел бы добавить еще один параметр в маршрут, чтобы я мог вызвать его /Company1/Chicago/{controller}/{action}
или /Company1/Detroit/{controller}/{action}
.
Я представляю, что в моей структуре папок решения это будет происходить аналогично: Areas/Company1/Controllers/Chicago/{controller}
, Areas/Company1/Views/Chicago/{view}
.
Что требуется для добавления этого параметра в сопоставление маршрутов?
Спасибо.
Комментарии:
1. Является ли город параметром для действия контроллера?
2. Нет, в моем решении город будет вложенной папкой в моей Company1 / Controllers, поэтому Company1/Controllers/Chicago/{некоторый контроллер}.
3. Наши разрозненные схемы БД не позволили бы мне использовать город в качестве параметра действия. Если один город имеет ту же функциональность, что и другой, я бы предпочел сегментировать этот код вместо того, чтобы использовать операторы if / then в моих методах действий. Если только нет другого способа…
4. Почему бы вместо этого не использовать параметры? Ваш URL-адрес будет выглядеть примерно так /Company1/Index?city=Чикаго. Теперь вы можете извлекать данные из своей базы данных только для Чикаго. Поэтому, когда вы добавляете новый город, вам не нужно писать другой контроллер.
5. Это может быть возможно, но я все равно хотел бы узнать, как выполнить маршрутизацию по моему вопросу.