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.

Antworten auf die Frage(3)

Ihre Antwort auf die Frage