我有 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”!显然,如果我把 old-fashioned href
,它们保持不变。但最令人费解的是,如果我明确指定 Action -
<li><a asp-controller="order" asp-action="Index">Orders</a></li>
一切正常!这是我偶然发现的错误,还是我不理解的设计?