使用 MVC Core 中的 TagHelper 链接到页面的指定部分
Linking to a specified section of a page using a TagHelper in MVC Core
我有一个名为 Legal
的视图,由 HomeController
控制
我可以 link 使用锚标记或 TagHelper 访问此页面:
<a asp-controller="Home" asp-action="Legal">Cookie policy</a>
在视图 Legal
的 html 中有一个部分带有 id="cookies"
使用常规锚标记,我可以让页面自动滚动到那里:
<a href="/Legal#cookies">Cookie policy</a>
当我尝试在 TagHelper asp-action="Legal#cookies"
中做同样的事情时,锚是用 href="/Legal%23cookies"
生成的,我的控制器没有获取它。
我已阅读 如何在常规锚标记中使用 Razor 解决此问题。但是,我想使用 TagHelper 来执行此操作。有办法吗?
您可以使用 asp-fragment
属性。它定义了一个 URL 片段以附加到 #
之后的 URL。
<a asp-controller="Home" asp-action="Legal" asp-fragment="cookies">Cookie policy</a>
会生成HTML:
<a href="/Legal#cookies">Cookie policy</a>
我有一个名为 Legal
的视图,由 HomeController
我可以 link 使用锚标记或 TagHelper 访问此页面:
<a asp-controller="Home" asp-action="Legal">Cookie policy</a>
在视图 Legal
的 html 中有一个部分带有 id="cookies"
使用常规锚标记,我可以让页面自动滚动到那里:
<a href="/Legal#cookies">Cookie policy</a>
当我尝试在 TagHelper asp-action="Legal#cookies"
中做同样的事情时,锚是用 href="/Legal%23cookies"
生成的,我的控制器没有获取它。
我已阅读
您可以使用 asp-fragment
属性。它定义了一个 URL 片段以附加到 #
之后的 URL。
<a asp-controller="Home" asp-action="Legal" asp-fragment="cookies">Cookie policy</a>
会生成HTML:
<a href="/Legal#cookies">Cookie policy</a>