如何通过中继器添加锚点标签和跳转到页面上的特定位置

本文关键字:位置 定位 添加 中继器 何通过 标签 | 更新日期: 2023-09-27 18:20:58

我想使用中继器来动态填充锚点和指向该锚点的链接
我知道对于统计情况,我们可以这样做:

<a href="#anchor">Link Text</a>

和锚点:

<a name="anchor"></a>

现在,为了动态创建链接,我使用:

<asp:Repeater ID="LinkRepeater" runat="server">
 <ItemTemplate>
    <asp:HyperLink ID="HyperLink1" runat="server"  class="TopMenuBarLink" NavigateUrl='<%# Eval("Link")%>'>
      <%# Eval("Title")%>
    </asp:HyperLink>
  </ItemTemplate>
</asp:Repeater>

但是当我运行程序时,在网站上,使用inspect元素,我得到的链接是:

<a id="_ctl0_viewCompanies_LinkRepeater_HyperLink1_0" class="TopMenuBarLink" href="Mypath/MyAnchor">My title text</a>

如何以正确的形式获取:

 <a id="_ctl0_viewCompanies_LinkRepeater_HyperLink1_0" class="TopMenuBarLink" href="#MyAnchor">My title text</a>

如何通过中继器添加锚点标签和跳转到页面上的特定位置

您对超链接使用服务器控件有具体原因吗?为什么不使用普通的锚固元件呢。

<asp:Repeater ID="LinkRepeater" runat="server">
 <ItemTemplate>
    <a class="TopMenuBarLink" href='#<%# Eval("Link")%>'>
      <%# Eval("Title")%>
    </a>
  </ItemTemplate>
</asp:Repeater>

我会试试这个(在ASP.Net代码括号之前添加#符号):

NavigateUrl='#<%# Eval("Link")%>'