我有一个带有脚手架标识的asp.net核心MVC项目,并且_LoginPartial视图中的标记帮助器作用很差。在“剃刀”视图中,链接看起来像这样,并且不会导航到任何页面或视图。
<a class="nav-link" asp-area="Identity" asp-page="/Account/Manage/Index">Manage Account</a>
但是由于某种原因,它是这样渲染的(从chrome开发控制台中获取):
href="/?area=Identity&page=%2FAccount%2FManage%2FIndex"
我不知道为什么会这样,并且我不知道如何正确显示它并允许导航到正确的页面。
答案 0 :(得分:2)
我实际上发现了问题所在。在Identity
区域的Configure方法中的IdentityHostingStartup类中,我已经将services.AddDefaultIdentity<IdentityUser>
更改为services.AddIdentity(IdentityUser, IdentityRole>
,这对为什么更改URL生成方式没有意义,但是我将其更改回services.AddDefaultIdentity<IdentityUser>
后,一切很快恢复正常。
答案 1 :(得分:0)
您可以尝试关注
<a asp-area="Account"
asp-controller="Manage"
asp-action="Index">About Blog</a>
它将创建以下html
<a href="/Account/Manage/Index">About Blog</a>
如果您具有如下所示的自定义路线映射
[Route("/Speaker/Evaluations", Name = "speakerevals")]
public IActionResult Evaluations() => View();
然后尝试
<a asp-route="speakerevals">Speaker Evaluations</a>
它将创建如下的html
<a href="/Speaker/Evaluations">Speaker Evaluations</a>
有关更多信息,请单击here