Обработчик нестандартного маршрута MVC 3 - Перейти к следующему правилу нестандартного маршрута? - PullRequest
2 голосов
/ 14 марта 2011

Рассматривал сложную маршрутизацию mvc asp.net для дерева в качестве примера того, как определить пользовательский обработчик маршрута для моего приложения MVC. По сути, я хочу предоставить конечному пользователю максимальную гибкость в определении URL-адреса для любой данной страницы, поэтому я предоставляю им поле в интерфейсе для указания их собственного пользовательского URL-адреса.

Мой пользовательский обработчик маршрутов в основном обработчик подстановочных знаков. Он выполнит поиск и, если найдет совпадение, отобразит его соответствующим образом. Однако, если совпадений не найдено, я хочу, чтобы оно отступило и нашло следующее правило, соответствующее в global.asax. Это возможно? Или мне нужно кодировать сопоставления, которые раньше существовали в моем global.asax, в мой собственный обработчик маршрутов?

Ответы [ 2 ]

1 голос
/ 15 марта 2011

Вы сможете достичь этого довольно просто.

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

Я полагаю, выбудет просто искать ключ страницы, а затем вернуть страницу пользователю.

1 голос
/ 15 марта 2011

Маршрутизация уже работает таким образом

Когда определенное определение маршрута не соответствует URL-адресу запроса, маршрутизация переходит к следующему определению маршрута и т. Д. И т. Д.До тех пор, пока:

  • не найдет маршрут, соответствующий URL запроса
  • , при последнем определении маршрута выбрасывается 404

.должно сработать, и мы с легкостью предоставим вам информацию о том, является ли в вашем случае нестандартный обработчик маршрута или маршрут.

...