Перейти к содержанию

Настройка шаблонов маршрутов для страницы Razor

По умолчанию шаблоны маршрута основаны на пути к файлу, но окончательный шаблон можно настроить или целиком переопределить.
Компонент маршрутизации анализирует шаблон маршрута, разделяя его на несколько сегментов, обычно разделяемых символом /. Вот пример шаблона: product/{category}/{name}. Здесь

  • product — это литеральное значение
  • {category},{name}параметры маршрута

Литеральные значения должны без учёта регистра совпадать с URL-адресом запроса. Например, если есть шаблон about/contact, то ему будет соответствовать ТОЛЬКО адрес с путём about/contact.
Сегменты, соответствующие параметрам запроса, могут быть разными, но по прежнему соответствовать шаблону. Например, шаблону {category}/{name} соответствуют пути /bag/rucksack-a и /shoes/black-size9. При этом пути /socks/ и trousers/mens/formal соответствовать не будут — не совпадает число сегментов.
Значения, связанные с параметрами фиксируются во время маршрутизации. Это значения маршрута, определяющие поведение страницы Razor, например, привязку модели.

Добавление сегмента в шаблон маршрута

Настройка шаблона маршрута страницы Razor производится через изменение директивы @page в верхней части .cshtml файла. По умолчанию, шаблон маршрута, указанный в директиве, добавляется в конец шаблона по умолчанию. Например, для страницы pages/Privacy.cshtml изменяем директиву следующим образом:

@page "Extra"

для получения шаблона маршрута privacy/extra. Чтобы получить рассмотренный выше шаблон products/{category}/{name}, нужно указать параметры в директиве @page:
@page "{category}/{name}"

Полная замена шаблона маршрута

Если мы хотим полностью заменить шаблон маршрута, нужно использовать префикс / в директиве @page. Так, директива @page "/{category}/{name}" страницы Products.cshtml изменит шаблон маршрута этой страницы на {category}/{name}.
Можно сказать, что шаблоны в директиве @page с префиксом / являются абсолютными шаблонами, тогда как шаблоны без префикса — относительными.
Отметим, что при настройке шаблона маршрута для страницы Razor шаблон по умолчанию становится недействительным.


Последнее обновление : 16 апреля 2023 г.
Дата создания : 22 сентября 2022 г.

Комментарии

Комментарии