使用asp.net在管理中注销样式

问题描述

我在仪表板中使用了非常出色的admintlte,但是注销的样式略有问题,因为它必须是asp.net核心mvc中的一种形式。

任何想法都是如何使用锚标签的,这是我尝试使用asp-controller的标签,但是它没有正确地注销我,只是将我带到了我的主页。

它看起来应该更像是设置链接,周围没有按钮的影响。

我目前正在使用以下代码

<div class="dropdown-menu dropdown-menu-lg dropdown-menu-right">
  <div class="dropdown-divider"></div>
   <a asp-action="Setup" asp-controller="Admin" asp-route-id="1" class="dropdown-item">
        <i class="fas fa-user mr-2"></i> Setups</a>
  
    <div class="dropdown-divider"></div>


    @if (User.Identity.IsAuthenticated) {
        <a href="#" class="dropdown-item">

    
            <form asp-controller="Account" asp-action="logout" method="post" id="logoutForm">
                <i class="fas fa fa-sign-in-alt mr-2"></i>
                <button type="submit" class="nav-link">Sign out</button>
            </form>
            </a>
    } else {
        <a asp-area="Identity" asp-page="/Account/Login" class="dropdown-item dropdown-footer fa fa-sign-in-alt">Login</a>
        <a asp-area="Identity" asp-page="/Account/Register" class="dropdown-item dropdown-footer">Register</a>

    }

</div>

当前看起来像这样。

enter image description here

解决方法

您将表单置于隐藏状态,并在锚标记上执行JavaScript以模拟表单提交。

<form class="d-none" method="post" id="logoutForm
  asp-controller="Account" asp-action="Logout"">
</form>
<a href="javascript:document.getElementById('#logoutForm').submit()" 
  class="dropdown-item">
    <i class="fas fa fa-sign-in-alt mr-2"></i>
    Sign Out
</a>
,

我实际上想出了一种我使用的不同方法

@if (User.Identity.IsAuthenticated) {
    <a href="#" class="dropdown-item">


        <form asp-controller="Account" asp-action="Logout" method="post" id="logoutForm">
            <i class="fas fa fa-sign-in-alt mr-2"></i>
            <button type="submit"  class="link">Sign out</button>
        </form>
    </a>

  } else {
    <a asp-area="Identity" asp-page="/Account/Login" class="dropdown-item dropdown-footer fa fa-sign-in-alt">Login</a>
    <a asp-area="Identity" asp-page="/Account/Register" class="dropdown-item dropdown-footer">Register</a>

 }

</div>

然后在我的CSS中,我只有以下内容

button.link {
 background: none !important;
 border: none;
 padding: 0 !important;
 /*optional*/
 font-family: arial,sans-serif;
 /*input has OS specific font-family*/
 color: black;
 text-decoration: none;
 cursor: pointer;
}