我试图渲染链接到页面内的一个命名锚点的简单超链接,例如:
<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链接控件来生成所需的链接。