【发布时间】:2013-12-21 08:39:54
【问题描述】:
我一直在摆弄默认 MVC 4 模板的 _Layout 和 _PartialLayouts,突然 '_PartialLogin' 文档中的 'Logout' 功能停止工作。
代码是:
@if (Request.IsAuthenticated) {
<text>
<p>Hello, @Html.ActionLink(User.Identity.Name, "Manage", "Account", routeValues: null, htmlAttributes: new { @class = "username", title = "Manage" })!
@using (Html.BeginForm("LogOff", "Account", FormMethod.Post, new { id = "logoutForm" })) {
@Html.AntiForgeryToken()
<a href="javascript:document.getElementById('logoutForm').submit()">Log off</a>
}</p>
</text>
}
是否有可能无意中禁用了javascript。我可能错过了一些脚本标签吗?或者是我在上一课中调用 _PartialLogin 的地方吗??
【问题讨论】:
-
在firefox中运行它并打开错误控制台,看看是否存在阻止正确执行的javascript错误
-
控制器被调用了吗?
-
你为什么要这样做
-
@DanielA.White:默认模板是这样做的,不是用户编写的。这里有一些简短的讨论:stackoverflow.com/questions/13602269/… 基本上 ASP.NET MVC 设计者希望它是一个 POST 操作。
-
@DanielA.White 因为注销用户应该通过 POST 请求完成
标签: c# asp.net-mvc asp.net-mvc-4 partial-views logout