MVC3: области и маршруты

#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. Это может быть возможно, но я все равно хотел бы узнать, как выполнить маршрутизацию по моему вопросу.