0

私はコントローラーに持っています:

[ルートプレフィックス("")]

ルートを使用したアクション:

   [Route("things-to-do/{filter1?}/{filter2?}/{filter3?}/{filter4?}/{Area?}", Name = "thingstodo")]
   public async virtual Task<ActionResult> ThingsToDo(string filter1 = "", string filter2 = "", string filter3 = "", string filter4 = "", string q = "")

これらの URL をブラウザに入力すると、これが機能します。

ローカルホスト/やるべきこと ローカルホスト/
やるべきこと/何か
ローカルホスト/やるべきこと/何か/何か

しかし、これらはすべて null を返します。

Url.RouteUrl("thingstodo")  
Url.Action("ThingsToDo", "ControllerName")  
Url.Action(MVC.ControllerName.ThingsToDo())  

これらは正しい URL を返します。

Url.Action("ThingsToDo", "ControllerName", new { filter1 = "something", filter2 = "something" })
Url.Action(MVC.ControllerName.ThingsToDo("something", "something"))

オプションのパラメーターが必要ない場合に、URL を正しく生成する方法についてのヘルプをいただければ幸いです。

4

1 に答える 1