1

Я использую маршрутизацию атрибутов для текущего проекта и в нескольких маршрутах, я использую некоторые необязательные параметры. Так что для URL-адреса, как ...Необязательное статическое значение в маршрутизации атрибутов

/detail/H40466/wood-to-wood-foundation-and-boxspring-frame-assembly

С маршрутным определением как ...

[Route("detail/{productName}/{applicationSlug?}")]

The wood-to-wood... является необязательным параметром. То, что я хочу сделать (если возможно), состоит в том, чтобы статическое значение отображалось только в том случае, если присутствует второй параметр. Что-то вроде ...

/detail/H40466/for/wood-to-wood-foundation-and-boxspring-frame-assembly

Где слово for только часть URL, когда последний необязательный параметр присутствует. Есть ли какой-либо механизм для достижения этого, помимо настройки другого действия, которое отображается на этот маршрут?

ответ

1

Вы можете определить 2 разных маршрута для одного и того же метода действий. В этом случае параметр «необязательный» должен быть необходим для одного маршрута и не представлен на другом.

[Route("detail/{productName}/for/{applicationSlug}", Order = 1)] 
[Route("detail/{productName}", Order = 2)] 
+0

Требуется ли «Порядок» при определении нескольких маршрутов для одного и того же действия? – Jared

+1

В этом случае нет. Однако при использовании маршрутизации атрибутов порядок не определен, если вы не укажете его явно. И так как правильное размещение маршрутов имеет решающее значение, имеет смысл использовать его, по крайней мере, для целей удобочитаемости, поэтому легко понять, в каком порядке будут обрабатываться маршруты. – NightOwl888

 Смежные вопросы

  • Нет связанных вопросов^_^