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