Я пытаюсь сделать простую гиперссылку, которая ссылается на именованный якорь внутри страницы, например:
<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 для создания нужной ссылки.