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

为何触发InvalidOperationException:无法重写<a>的'href'属性?

为何触发InvalidOperationException:无法重写的'href'属性?

嘿,这个问题我太熟了!咱们先把问题拆解清楚,再看怎么解决~

首先,错误提示已经说得明明白白:当你给<a>标签使用了像asp-page这类ASP.NET Core专属的路由Tag Helper属性时,绝对不能同时手动指定href属性。

原因很简单:ASP.NET Core的Tag Helper会根据你设置的asp-page、asp-action、asp-controller这类属性,自动生成对应页面/接口的完整href值。如果你手动写了href,框架就会陷入两难——到底用你写的还是自动生成的?所以它干脆直接抛出这个错误,避免冲突。

看你贴的代码:

<li class="page-item"><a asp-page="index"  class="page-link" href="#">3</a></li>

这里同时用了asp-page="index"(让Tag Helper生成跳转到index页的链接)和href="#"(手动指定锚点链接),这就是触发错误的根源。

接下来给你两种解决方案,按需选择:

  • 如果想让链接跳转到index页面:删掉手动的href="#",让Tag Helper自动生成正确的跳转地址就行:

    <li class="page-item"><a asp-page="index" class="page-link">3</a></li>
    
  • 如果只是需要占位的锚点链接(比如分页的当前页):删掉asp-page="index"属性,保留href="#",甚至可以给当前页加个active类和禁用状态,让样式更合理:

    <li class="page-item active"><a class="page-link" href="#" tabindex="-1" aria-disabled="true">3</a></li>
    

备注:内容来源于stack exchange,提问作者user123456

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.04.23 11:17:59