ASP.NET MVC Точки расширения генерации URL - PullRequest
0 голосов
/ 18 февраля 2010

Что такое точки расширения для генерации URL в ASP.NET MVC?

  1. Маршруты - от этого зависит виртуальный путь
  2. ???

Приложение 1
В частности, мне нужно контролировать не только часть пути URL, но и хост. И я хотел бы встроить мою логику генерации в MVC Framework, чтобы при любом вызове стандартного метода Html.ActionLink мои логики включали Это было бы идеально. Однако, исследуя источники MVC, я отчаянно пытаюсь достичь своей цели простым способом.

Ответы [ 3 ]

0 голосов
/ 19 февраля 2010

Точки расширения маршрутизации

  • Маршруты
  • Ограничения маршрута
  • Обработчики маршрутов

В вашем конкретном случае вам придется написать собственный маршрут, который будет заполнять дополнительные элементы RouteData, связанные с хостом. Парсинг вашего URL будет полностью на вас.

"{хост} / {контроллер} / {действие}"

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

Редактировать

Полагаю, эта статья о доменной маршрутизации может вам чем-то помочь. Смотрится прямо и непринужденно.

0 голосов
/ 14 апреля 2011

Действительно, невозможно достичь желаемой гибкости, поскольку при генерации URL Route предоставляет только часть VirtualPath.

0 голосов
/ 18 февраля 2010

Маршруты там, где они есть.Помните, однако, что вы можете создать подкласс Route и предоставить собственную реализацию, в которой не используются шаблоны URI «ключ / значение».

Ничто не мешает вам написать собственное решение с нуля, но в этом нет особого смысладля вас уже есть расширяемая основа для работы.

...