Usando HtmlAnchor ou ASP.NET HyperLink para a marca âncora que navega na página chamada âncora
Estou tentando renderizar um hiperlink simples que vincula a uma âncora nomeada dentro da página, por exemplo:
<a href="#namedAnchor">scroll to down</a>
<a name="namedAnchor">down</a>
O problema é que quando eu uso um controle ASP.NET comoasp:HyperLink
ouHtmlAnchor
, ahref="#namedAnchor"
é renderizado comohref="controls/#namedAnchor"
(Ondecontrols
é o subdiretório onde está o controle do usuário que contém a âncora). Aqui está o código para o controle, usando dois tipos de controles âncora, ambos com o mesmo problema:
<%@ 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 fonte gerada se parece com:
<a href="controls/#namedAnchor">HtmlAnchor</a>
<a href="controls/#namedAnchor">HyperLink</a>
Eu realmente só quero:
<a href="#namedAnchor">HtmlAnchor</a>
<a href="#namedAnchor">HyperLink</a>
Estou usando oHtmlAnchor
ouHyperLink
classe porque eu quero fazer alterações em outros atributos no código por trás. Não quero introduzir um controle da Web personalizado para esse requisito, pois o requisito que eu estou perseguindo não é importante o suficiente para justificar o abandono dos controles tradicionais de links do ASP.NET. Parece que eu deveria poder usar os controles de link do ASP.NET para gerar o link desejado.