Динамически изменить цель маршрута - PullRequest
0 голосов
/ 29 ноября 2011

У меня есть инструмент администрирования сайта, созданный с MVC3, который имеет маршрут {brand}/{controller}/{action}.Теперь нам нужно иметь два разных контроллера для разных брендов, SimpleProductController и Product2_0Controller, потому что новые сайты будут использовать «Продукт 2.0», в то время как старые сайты будут по-прежнему использовать «Простой продукт».Теперь нам нужно иметь маршрут {brand}/Product/{action} к соответствующему контроллеру, в зависимости от марки.

Один из способов сделать это - создать ProductController, который реализует поведение переадресации, но я чувствую, что это довольно быстро станет беспорядочным, поскольку он должен будет реализовать все действия обоих контроллеров.Есть ли лучший способ сделать это?

РЕДАКТИРОВАТЬ: Другой способ будет генерировать все маршруты статически, я полагаю.Не очень красиво, но, по крайней мере, лучше, чем контроллер переадресации, я бы сказал.

1 Ответ

0 голосов
/ 29 ноября 2011

Почему бы просто не добавить номер версии в маршрут? Тогда это будет расширяться, если появится продукт 3.0:

{brand}/{version}/{controller}/{action}

Затем вы можете выбрать свой район по соглашению.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...