Я пытаюсь представить простую гиперссылку, которая связывается с именованной привязкой в странице, например:
<a href="#namedAnchor">scroll to down</a>
<a name="namedAnchor">down</a>
Проблема - это, когда я использую управление ASP.NET как asp:HyperLink
или HtmlAnchor
, href="#namedAnchor"
представляется как href="controls/#namedAnchor"
(где controls
подкаталог, где пользовательский элемент управления, содержащий привязку). Вот код для управления, с помощью двух типов средств управления привязки, которые у обоих есть та же проблема:
<%@ 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
класс, потому что я хочу внести изменения в другие атрибуты в коде позади. Я не хочу представлять пользовательский веб-элемент управления для этого требования, поскольку требование, которое я преследую, не то, что достаточно важно для выравнивания по ширине отказа от традиционного управления каналом ASP.NET. Кажется, что я должен смочь использовать управление каналом ASP.NET для генерации нужной ссылки.
Вместо использования свойства NavigateUrl просто используйте свойство href
<asp:HyperLink href="#namedAnchor" runat="server">HyperLink</asp:HyperLink>