我有一个MVC5应用程序,有许多不同的领域.该项目是使用导航栏中的“注销”链接创建的,但如果用户位于任何“区域”中,则链接将断开.我想添加:
new { area = "" }
将链接指向正确的位置但是它没有或我在错误的地方尝试过.代码如下:
@using Microsoft.AspNet.Identity @if (Request.IsAuthenticated) { using (Html.BeginForm("logoff","Account",FormMethod.Post,new { id = "logoutForm",@class = "navbar-right" })) { @Html.AntiForgeryToken() <ul class="nav navbar-nav navbar-right"> <li> @Html.ActionLink("Hello " + User.Identity.GetUserName(),"Manage",routeValues: null,htmlAttributes: new { title = "Manage" }) </li> <li><a href="javascript:document.getElementById('logoutForm').submit()">Log off</a></li> </ul> } } else { <ul class="nav navbar-nav navbar-right"> <li>@Html.ActionLink("Log in","Login",htmlAttributes: new { id = "loginLink" })</li> </ul> }
解决方法
正确的位置在Html.BeginForm(…)参数内:
using (Html.BeginForm("logoff",new { area = "" },@class = "navbar-right" }))