2009-09-30 1 views
4

Можно ли определить маршрут в RouteCollection Asp.net MVC, так что он просто выполняет часть «перезаписи URL-адреса» и игнорирует создание URL-адреса с помощью Html.Actionlink (...)?ASP.NET MVC One Way Route

На самом деле я хочу добавить ключевое слово между контроллером и действием (контроллер/.. ключевое слово .../действие) для некоторых очень специальных запросов. Сгенерированные URL-адреса на страницах, однако, должны оставаться с использованием маршрутов по умолчанию. (контроллер/действие)

ответ

4

Да, вы можете делать то, что вы просите. Вы просто создали свой собственный маршрут, унаследованный от текущего, и переопределите GetVirtualPath, чтобы всегда возвращать null. Таким образом, поиск действий не будет выполнен, но URL-адрес все равно будет функционировать как отображение маршрутизации для вашего действия/контроллера.

Также, кстати, что происходит, это не переписывание URL-адресов, поскольку вы используете маршруты для определения конечных точек в своем приложении. Или, другими словами, API. Поэтому переписывания не происходит. Подумайте о связи между маршрутами и вашим действием/контроллером, как о более общем публичном пространстве имен для Интернета. Подобно пространству имен, вы определяете конкретное место в своем приложении, где можно найти ваше действие/контроллер.

+0

Отлично, это решило проблему для меня –