1

私は現在のプロジェクトに属性ルーティングを使用していますが、いくつかのルートではいくつかのオプションのパラメータを使用しています。だから、URLのような...属性ルーティングのオプションの静的値

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

そのルート定義で

のような...

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

wood-to-wood...のためにオプションのパラメータです。私がしたいことは(可能な場合)、第2のパラメータが存在する場合にのみ静的な値を表示することです。何か最後のオプションのパラメータが存在するときに単語forがURLの一部に過ぎないような...

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

。そのルートにマップされた別のアクションを設定する以外に、これを達成するためのメカニズムがありますか?

答えて

1

同じアクション方法に対して2つの異なるルートを定義できます。その場合、「オプション」パラメータは1つのルートに必要であり、もう1つのルートには存在しない必要があります。

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

同じアクションに対して複数のルートを定義する場合は、「注文」が必要ですか? – Jared

+1

この場合、いいえ。ただし、属性ルーティングを明示的に指定しない限り、順序は不確定です。また、適切な順序でルートを配置することが重要であるため、少なくとも可読性のためにルートを使用することは理にかなっているため、ルートの処理順序を理解することは容易です。 – NightOwl888

関連する問題