0
我有在控制器上:MVC5属性路由,路由发射空没有可选PARAMS
[RoutePrefix( “”)]
与路线的动作:
[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:
本地主机/东西,待办事项
本地主机/事到-DO /东西
本地主机/事到-DO /事/东西
但这些都返回NULL:
Url.RouteUrl("thingstodo")
Url.Action("ThingsToDo", "ControllerName")
Url.Action(MVC.ControllerName.ThingsToDo())
这些返回正确的URL:
Url.Action( “ThingsToDo”, “ControllerName”,新的过滤器1 {= “东西”,FILT ER2 =“东西”})
Url.Action如何正确生成(MVC.ControllerName.ThingsToDo(“东西”,“东西”))
任何帮助的URL时,我不需要可选PARAMS会不胜感激。