你知道MVC的默认路由是
context.MapRoute(
"Public_default",
"{controller}/{action}/{id}",
new {
controller = "Home",
action = "Index",
id = UrlParameter.Optional
}
)
并致电 Url.Action(“”)返回“/ MyController”
我将默认路线更改为:
context.MapRoute(
"Public_default",
"{controller}/{action}/{id}/{slug}",
new {
controller = "Home",
action = "Index",
id = UrlParameter.Optional,
slug = UrlParameter.Optional
}
)
现在调用 Url.Action(“”)返回“/ MyController / Index”
问题是“/ index”。它似乎忽略了路线默认值中的 action =“Index”。
我认为这是因为将{slug}添加到路线。
注意:当我打电话给 / MyController 时,它的工作方式与以前一样。但是Url.Action(“”)的行为发生了变化。
我该如何解决这个问题?
答案 0 :(得分:1)
令人惊讶的是,我在路由配置中放置了两个路由,它解决了问题... 但我认为这是Url.Action()
的不当行为