ASP.NET Core アプリケーション (fka ASP.NET 5、ASP.NET MVC 6) があります。レイアウト ページには、次の関連リンクがあります。
<li><a asp-controller="order">Orders</a></li>
<li><a asp-controller="customer">Customers</a></li>
<li><a asp-controller="whatever">Something Else</a></li>
そして(ViewComponent経由)
<li><a asp-controller="account">Login</a></li>
Login.cshtml には次のものがあります。
<form asp-controller="Account" asp-action="Login" method="post" role="form">
...
</form>
または<form action="/Account/Login">...</form>
- 違いはありません。
問題は、[ログイン] をクリックしてログイン画面に入ると、最上位のリンク (注文、顧客など) がすべて「/Account/Login」に変わることです! 明らかに、昔ながらの を入れてもhref
、それらは変更されません。しかし、最も不可解な部分は、 Action を明示的に指定すると -
<li><a asp-controller="order" asp-action="Index">Orders</a></li>
すべてが正しく動作します!それは私が見つけたバグですか、それとも私が理解できない設計によるものですか?