You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

.NET Core 2.2中Html.ActionLink跳转登录页异常问题求助

解决.NET Core 2.2迁移中@Html.ActionLink跳转Login页面失效的问题

看起来你遇到的问题核心是**@Html.ActionLink的参数使用错误**,导致生成的URL不符合Identity的路由规则,所以点击后无法正确跳转。咱们一步步来拆解:

问题根源分析

先看你写的两个Login链接:

  1. 第一个Login链接:
@Html.ActionLink("Login", "/Account/Login", "Identity", null, new { @style = "color:white" })

这里你把第二个参数(actionName)写成了完整路径/Account/Login,但@Html.ActionLink的第二个参数应该是控制器里的Action方法名,不是完整URL。

  1. 第二个Login链接:
@Html.ActionLink("Login", "Account", "Identity", null, new { @style = "color:white" })

这里直接搞反了actionName和controllerName参数,把控制器名写到了Action的位置,自然生成不了正确的路由。

另外,.NET Core默认的Identity UI是放在Identity区域下的,所以需要明确指定区域参数才能匹配到正确的路由。

正确的写法

把两个Login链接替换成下面的代码:

<li class="nav-item" id="Login">
    @Html.ActionLink("Login", "Login", "Account", new { area = "Identity" }, new { @style = "color:white" })
</li>

这里的参数对应@Html.ActionLink的正确重载:

  • 第1个参数:链接显示文本("Login")
  • 第2个参数:Action方法名("Login")
  • 第3个参数:控制器名("Account")
  • 第4个参数:路由值(指定area = "Identity",匹配Identity区域的路由)
  • 第5个参数:HTML属性(样式设置)

验证方法

你可以右键页面查看源码,对比修改前后的href属性:

  • 修改前错误的链接生成的href肯定是不符合预期的(比如指向当前页面的URL)
  • 修改后应该生成类似/Identity/Account/Login的正确路径

这样点击链接就能正常跳转到登录页了,和你手动输入URL的效果一致。

内容的提问来源于stack exchange,提问作者Korpin

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.06 19:47:39