Asp.net mvc 3 ActionLink可以';t访问根文件夹-MVC 3
我有一个.NETMVC3Web应用程序,它具有以下结构Asp.net mvc 3 ActionLink可以';t访问根文件夹-MVC 3,asp.net-mvc-3,routes,actionlink,html.actionlink,Asp.net Mvc 3,Routes,Actionlink,Html.actionlink,我有一个.NETMVC3Web应用程序,它具有以下结构 根 观点 帐目 LoginPage.aspx 控制器 会计控制员 区域 课程 Index.aspx 假设我现在在课程区的Index.aspx页面,我会有一个按钮将我转发到LoginPage.aspx 在ASP.NETMVC中,我会称之为它将引导我进入正确的页面。如果我把它写在浏览器上,它就会工作 但是我想使用HTML助手ActionLink,所以我尝试了: <%: Html.ActionLink("Log
- 根
- 观点
- 帐目
- LoginPage.aspx
- 帐目
- 控制器
- 会计控制员
- 区域
- 课程
- Index.aspx
- 课程
- 观点
<%: Html.ActionLink("Log on", "Login", "Account", routeValues: null, htmlAttributes: new { id = "logonLink", data_dialog_title = "Logon" })%>
它将获得相对路径:
我也试过:
<%: Html.ActionLink("Log on", "Login", "../Account", routeValues: null, htmlAttributes: new { id = "loginLink", data_dialog_title = "Login" })%>
我收到错误消息:无法使用前导。。退出顶部目录上方。
我还尝试了相对路径:
<%: Html.ActionLink("Log on", "Login", "~/Account", routeValues: null, htmlAttributes: new { id = "loginLink", data_dialog_title = "Login" })%>
这让我想到:
我非常感激如何找到这个问题的解决方案。试试这个:
<%: Html.ActionLink("Log on", "Login", "Account", new { area = "" } , new { id = "logonLink", data_dialog_title = "Logon" })%>
键是区域=”
位。当对区域使用Url.Action
或Html.ActionLink
时,如果未指定区域
路由值,MVC将仅在当前区域中查找匹配项
使用局部视图/模板时,这一点更为重要,因为它们可以在不同区域的视图中渲染
因此,如果使用区域,请养成始终指定area
路由值的习惯,除非使用Url.RouteUrl
或Html.RouteLink