你知道MVC默認路由是C#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的/索引」
的問題是「/索引」。它似乎忽略了路線默認值中的action =「Index」。
我認爲這是因爲添加{slug}路由。
注意:當我打電話給/MyController它像以前一樣工作。但Url.Action(「」)行爲已更改。
我該如何解決這個問題?
'Url.Action'(和其他傭工)取生成路由時將當前上下文(RouteData)轉換爲公式。我不知道您要從哪個網頁創建鏈接,但很可能它將這些路線值轉換爲等式。 – 2015-02-06 14:08:34
@BradChristie我從同一個控制器調用它。例如在「home」控制器和「about」動作內部 – abzarak 2015-02-06 14:11:23