使用HtmlAnchor或ASP.NET HyperLink作为导航页内命名锚点的锚标签

前端之家收集整理的这篇文章主要介绍了使用HtmlAnchor或ASP.NET HyperLink作为导航页内命名锚点的锚标签前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我试图渲染链接页面内的一个命名锚点的简单超链接,例如:
<a href="#namedAnchor">scroll to down</a>

<a name="namedAnchor">down</a>

问题是,当我使用ASP.NET控件,如asp:HyperLink或HtmlAnchor时,href =“#namedAnchor”被渲染为href =“controls /#namedAnchor”(其中,控件是包含该锚点的用户控件的子目录是)。这是控件的代码,使用两种类型的锚控件,它们都有同样的问题:

<%@ Control Language="C#" AutoEventWireup="true" CodeBehind="Test.ascx.cs" Inherits="TestWebApplication1.controls.Test" %>

<a href="#namedAnchor" runat="server">HtmlAnchor</a>

<asp:HyperLink NavigateUrl="#namedAnchor" runat="server">HyperLink</asp:HyperLink>

生成的源代码如下所示:

<a href="controls/#namedAnchor">HtmlAnchor</a>

<a href="controls/#namedAnchor">HyperLink</a>

我真的只想要:

<a href="#namedAnchor">HtmlAnchor</a>

<a href="#namedAnchor">HyperLink</a>

我正在使用HtmlAnchor或HyperLink类,因为我想对代码中的其他属性进行更改。我不想为此需求引入自定义Web控件,因为我正在追求的要求不足以证明放弃传统的ASP.NET链接控件。似乎我应该能够使用ASP.NET链接控件来生成所需的链接

解决方法

而不是使用NavigateUrl属性,只需使用href属性
<asp:HyperLink href="#namedAnchor" runat="server">HyperLink</asp:HyperLink>

猜你在找的asp.Net相关文章