编程语言
首页 > 编程语言> > c# – ASP.NET MVC 4默认_LoginPartial模板注销无效

c# – ASP.NET MVC 4默认_LoginPartial模板注销无效

作者:互联网

我一直在摆弄默认MVC 4模板的_Layout和_PartialLayouts,突然之间’_PartialLogin’文档中的’Logout’功能已经停止工作.为了给你提供更多信息,从_NavBar.cshtml调用_LoginPartial.cshtml,然后从_Layout.cshtml调用

_LoginPartial.cshtml的代码是:

@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>
} 

_NavBar.cshtml中的代码是:

<form class ="navbar-form navbar-right" method="post" action="/account/login">
    <div class ="form-group">
        @Html.Partial("_LoginPartial")
    </div>
</form>

_Layout.cshtml中的代码是:

<body>
    @Html.Partial("_Navbar")
    @RenderSection("featured", required: false)
    @RenderBody()
    <div class="container">

我知道问题可能是javascript已经无意中被无意识地禁用了.我可能错过了一些脚本标签吗?或者它是上一课中我称之为_PartialLogin的东西?

解决方法:

我没有回答你的问题(你已经解决了问题),但我认为这大大改善了代码:

改变这一行:

<a href="javascript:document.getElementById('logoutForm').submit()">Log off</a>

这一个:

<button class="btn btn-link">Log off</button>

此更改也不需要表单上的ID.

标签:c,javascript,partial-views,asp-net-mvc-4,asp-net-mvc-partialview
来源: https://codeday.me/bug/20190517/1120909.html