Verwenden Sie HtmlAnchor oder ASP.NET HyperLink für das Ankertag, mit dem Sie in der Seite mit dem Namen anchor @ navigiere
Ich versuche, einen einfachen Hyperlink zu rendern, der auf einen benannten Anker auf der Seite verweist. Beispiel:
<a href="#namedAnchor">scroll to down</a>
<a name="namedAnchor">down</a>
Das Problem ist, dass, wenn ich ein ASP.NET-Steuerelement wie @ verwendasp:HyperLink
oderHtmlAnchor
, dashref="#namedAnchor"
wird als @ gerendehref="controls/#namedAnchor"
(wohercontrols
ist das Unterverzeichnis, in dem sich das Benutzersteuerelement mit dem Anker befindet. Hier ist der Code für das Steuerelement mit zwei Arten von Ankersteuerelementen, bei denen beide das gleiche Problem haben:
<%@ 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>
Die generierte Quelle sieht wie folgt aus:
<a href="controls/#namedAnchor">HtmlAnchor</a>
<a href="controls/#namedAnchor">HyperLink</a>
Ich will wirklich nur:
<a href="#namedAnchor">HtmlAnchor</a>
<a href="#namedAnchor">HyperLink</a>
Ich benutze dasHtmlAnchor
oderHyperLink
Klasse, weil ich Änderungen an anderen Attributen im Code dahinter vornehmen möchte. Ich möchte kein benutzerdefiniertes Websteuerelement für diese Anforderung einführen, da die von mir verfolgte Anforderung nicht so wichtig ist, dass es gerechtfertigt ist, die herkömmlichen ASP.NET-Linksteuerelemente aufzugeben. Anscheinend sollte ich die ASP.NET-Link-Steuerelemente verwenden können, um den gewünschten Link zu generieren.