Asp.net core mvc 将表单标记添加到下拉列表项会破坏ui

Asp.net core mvc 将表单标记添加到下拉列表项会破坏ui,asp.net-core-mvc,materialize,Asp.net Core Mvc,Materialize,我正在开发一个ASP.NETCore2.0Web应用程序,并选择了前端库。我面临的问题是,当我添加一个带有下拉菜单的导航栏时,我无法在不破坏UI的情况下发出HTTP Post请求 问题是我不能使用标记来应用样式 <!-- Dropdown Trigger --> <li> <a class="dropdown-button" href="#!" data-target="dropdownMenu">Hi, @UserManager.GetUserNam

我正在开发一个ASP.NETCore2.0Web应用程序,并选择了前端库。我面临的问题是,当我添加一个带有下拉菜单的导航栏时,我无法在不破坏UI的情况下发出HTTP Post请求

问题是我不能使用标记来应用样式

<!-- Dropdown Trigger -->
<li>
    <a class="dropdown-button" href="#!" data-target="dropdownMenu">Hi, @UserManager.GetUserName(User)<i class="material-icons right">arrow_drop_down</i></a>
</li>
<!-- Dropdown Structure -->
<ul id="dropdownMenu" class="dropdown-content">
    <li>
        <a href="#!">Profile</a>
    </li>
    <li>
        <a href="#!">Settings</a>
    </li>
    <li class="divider"></li>
    <li>
        <form method="post" asp-controller="Account" asp-action="Logout">
            <input type="submit" value="Logout"/>
        </form>
    </li>
</ul>

有什么想法吗

要获得填充,可以将表单包装成一个跨度:

<li>
   <span>
      <form method="post" asp-controller="Account" asp-action="Logout">
         <input type="submit" value="Logout">
      </form>
   </span>
</li>
如果您需要与悬停等完全相同的样式,则必须将li>a css扩展为li>input,或者只需使用JS触发表单:

<li><a href="#" onClick="document.logoutForm.submit()">Logout</a></li>
然后用表单包装菜单:

<form name="logoutForm" method="post" asp-controller="Account" asp-action="Logout">
最后一个选项是使用以下内容包装表单:


非常感谢你!成功了!我得把衣服包起来
<li>
   <a href="#">
      <form method="post" asp-controller="Account" asp-action="Logout">
         <input type="submit" value="Logout" style="background:none;border:none;padding:0;">
      </form>
   </a>
</li>