Asp.net mvc 在区域内的视图中生成错误的操作链接
我正在“区域->视图->主页”中使用main _Layout.cshtml作为我的Index.cshtml。 因此,注销和登录链接生成错误(位于main _LogOnPartial.cshtml中) i、 e.生成为“http://localhost/Admin/User/LogOff”,但应生成为“http://localhost/User/LogOff” _logonnPartial.cshtml代码Asp.net mvc 在区域内的视图中生成错误的操作链接,asp.net-mvc,asp.net-mvc-4,razor,Asp.net Mvc,Asp.net Mvc 4,Razor,我正在“区域->视图->主页”中使用main _Layout.cshtml作为我的Index.cshtml。 因此,注销和登录链接生成错误(位于main _LogOnPartial.cshtml中) i、 e.生成为“http://localhost/Admin/User/LogOff”,但应生成为“http://localhost/User/LogOff” _logonnPartial.cshtml代码 <div class="btn-group pull-right">
<div class="btn-group pull-right">
@if (Request.IsAuthenticated)
{
<text>
@* Welcome <strong>@User.Identity.Name</strong>!*@
@Html.ActionLink("Log Off", "LogOff", "User", null, new { @class = "btn btn-action btn-first" }) </text>
}
else
{
<text>@Html.ActionLink("Log In", "Login", "User", null, new { @class = "btn btn-action btn-last" }) @Html.ActionLink("Register", "Register", "User", null, new { @class = "btn btn-action" })</text>
}
</div>
@如果(请求已验证)
{
@*欢迎@User.Identity.Name*@
@ActionLink(“注销”,“注销”,“用户”,空,新{@class=“btn btn action btn first”})
}
其他的
{
@ActionLink(“登录”,“登录”,“用户”,null,新建{@class=“btn btn action btn last”})@Html.ActionLink(“注册”,“注册”,“用户”,null,新建{@class=“btn btn action”})
}
如果要生成不以区域为目标的URL,需要确保清除区域路由值。可以通过将区域布线值设置为空字符串来实现这一点
例如:
@Html.ActionLink("Log Off", "LogOff", "User", new { area = "" }, new { @class = "btn btn-action btn-first" })
这样,无论渲染的视图是否在某个区域内,共享部分中的链接都将始终为“根”控制器生成。如何生成链接?这与我们在_LogOnPartial.cshtml中使用的逻辑相同