0
我有兩個模糊的路線,無論是相同的MVC地區:曖昧路線訂貨
Default
{controller}/{action}/{id}
controller = "Home"
action = "Index"
id = Optional
SettingsRoute
Settings/{controller}/{action}
action = "Index"
我想MVC使用默認Default
路線,路由信息時,在上述規定的順序它。因此,這...
Controller: WelcomeController
Action: Login
using(Html.BeginForm()) { }
......結果這個HTML
<form action="/Welcome/Login" method="post"></form>
到目前爲止,一切都很好。
然而,當我有一個看起來像這樣的錨:
<a href="Settings/AppSettings">Application settings</a>
...它就會被Default
路線爲Controller = Settings, Action = AppSettings
,而不是由SettingsRoute
路線抓獲。
當我重新安排路由,以便Default
前SettingsRoute
出現那麼我Html.BeginForm()
調用看起來是這樣的:<form action="Settings/Welcome/Login">
這不是我想要的。
有沒有解決這個問題的方法?
如果兩者都在同一區域內,那麼當定義與默認路由相同時,爲什麼還需要額外路由?問題是你已經包含'{controller}'部分,並且引擎將'Settings'作爲路由的附加部分。 – 2013-04-30 06:14:10