我决定在我的网站中首次使用asp.net身份认证。我试图从我的视图创建一个简单的注销链接。当我点击这个链接时,我会得到一个错误 "Server Error in '/' Application. Requested URL: /Account/Logout"。此时我觉得代码是正确的,但显然出了点问题。任何帮助将不胜感激。
控制器:
// POST: /Account/Logout
[HttpPost]
[ValidateAntiForgeryToken]
public ActionResult Logout()
{
AuthenticationManager.SignOut(DefaultAuthenticationTypes.ApplicationCookie, DefaultAuthenticationTypes.ExternalCookie);
Session.Abandon();
return RedirectToAction("Login", "Account");
}
首页视图:
<div id="sidebar-nav" class="sidebar">
<div class="sidebar-scroll">
<nav>
<ul class="nav">
<li><a href="@Url.Action("Index", "Home")" class="active"><i class="lnr lnr-home"></i> <span>Dashboard</span></a></li>
<li>
<a href="#subPages" data-toggle="collapse" class="collapsed"><i class="lnr lnr-file-empty"></i> <span>Reports</span> <i class="icon-submenu lnr lnr-chevron-left"></i></a>
<div id="subPages" class="collapse ">
<ul class="nav">
<li><a href="@Url.Action("Index", "Home")" class="">Fulfillment</a></li>
<li><a href="@Url.Action("Index", "Home")" class="">Report</a></li>
<li><a href="@Url.Action("Index", "Home")" class="">Report</a></li>
</ul>
</div>
</li>
<li><a href="@Url.Action("Logout", "Account")" class=""><i class="lnr lnr-dice"></i> <span>Logout</span></a></li>
</ul>
</nav>
</div>
</div>
当在索引视图中点击注销链接时,会返回上述错误。
预期结果是:该链接调用控制器中的Logout方法并重定向到登录页面。