Может ли маршрут ставить префикс имени контроллера? проблемы с URL и конфликтами имен контроллеров - PullRequest
1 голос
/ 19 января 2010

Я хочу, чтобы моя структура URL была такой:

www.stackoverflow.com/order/...

www.stackoverflow.com/admin/order/...

Теперь оба вышеперечисленных используют разные контроллеры.

/controllers/ordercontroller
/controllers/admin/ordercontroller

Есть ли способ, которым я могу иметь эту структуру URL?

Я думал, смогу ли я сделать это:

/controllers/ordercontroller
/controllers/admin/adminordercontroller

И каким-то образом в моих маршрутах префикс имени всех связанных с администратором контроллеров "admin"?

1 Ответ

2 голосов
/ 19 января 2010

Конечно, нет проблем.Помните, что у вас также может быть статический текст в маршрутах.

routes.MapRoute("admin", "admin/{controller}/{action}/{id}", ....

routes.MapRoute("normal", "{controller}/{action}/{id}", ...

Главное здесь - убедиться, что маршрут администратора является первым, чтобы сначала он соответствовал URL.В противном случае «нормальный» маршрут поглотит его, потому что он также совпадает.

...