我有两个模糊的路由,都在同一个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
路线捕获。
当我重新排序路由时,SettingsRoute
出现在Default
之前,然后我的Html.BeginForm()
调用看起来像这样:<form action="Settings/Welcome/Login">
这根本不是我想要的。
有什么解决办法吗?
你可以提到<%:Html。ActionLink("Create Item->这是你想重定向的页面","Index","Item->页面文件夹")%>你可以从一个页面导航到另一个页面。