Share via


Deklarative Syntax des HtmlAnchor-Serversteuerelements

[Dieses Dokument dient lediglich Vorschauzwecken und kann in späteren Versionen geändert werden. Leere Themen sind als Platzhalter enthalten.]

Erstellt ein serverseitiges Steuerelement, das dem <a>-Element in HTML zugeordnet wird und einen Link zu einer anderen Webseite ermöglicht.

<a 
    EnableViewState="False|True" 
    Href="string" 
    Id="string"
    Title="string"
    Visible="False|True"
    OnDataBinding="OnDataBinding event handler"
    OnDisposed="OnDisposed"
    OnInit="OnInit event handler"
    OnLoad="OnLoad event handler"
    OnPreRender="OnPreRender event handler"
    OnServerClick="OnServerClick event handler"
    OnUnload="OnUnload event handler"
    runat="server"
>
linkText
</a>

Hinweise

Verwenden Sie das HtmlAnchor-Steuerelement, um programmgesteuert ein <a>-Element in HTML zu steuern. Mit dem <a>-Element in HTML können Sie einen Link erstellen, mit dem Sie zu einer anderen Position auf der Webseite oder zu einer anderen Webseite wechseln können. Das HtmlAnchor-Steuerelement muss wohlgeformt sein und ein Starttag sowie ein Endtag aufweisen. Sie können die Beschriftung für das Steuerelement angeben, indem Sie Text zwischen das öffnenden und schließende Tag schreiben. Dieses Serversteuerelement wird häufig dazu verwendet, die Attribute und Eigenschaften des <a>-Elements dynamisch zu modifizieren, Links aus einer Datenquelle anzuzeigen und Ereignisse zu steuern, um HtmlAnchor-Steuerelemente dynamisch zu generieren.

Sie können den Ort, an dem die neue Webseite angezeigt werden soll, über die Target-Eigenschaft angeben. Target-Werte müssen mit einem Buchstaben aus dem Bereich von A bis Z (ohne Berücksichtigung der Groß- und Kleinschreibung) beginnen, mit Ausnahme der folgenden speziellen Werte, die mit einem Unterstrich beginnen:_blank, _self, _parent und _top.

Sie können die URL, zu der das HtmlAnchor-Steuerelement einen Link herstellen soll, dynamisch generieren. Um die HRef-Eigenschaft dynamisch zu generieren, deklarieren Sie ein HtmlAnchor-Steuerelement in einem HTML-Dokument. Beispiele:

<a id="anchor1" runat="server"></a>
<a id="anchor1" runat="server"></a>

Hinweis

Denken Sie daran, das HtmlAnchor-Steuerelement zwischen dem Anfangs- und dem Endtag eines HtmlForm-Steuerelements einzubetten.

Schreiben Sie als Nächstes einen Ereignishandler, der der HRef-Eigenschaft des HtmlControl-Steuerelements eine URL zuweist.

Zwar unterstützt das HtmlAnchor-Steuerelement nicht direkt das Binden an eine Datenquelle, Sie haben jedoch die Möglichkeit, Links aus den Werten eines Felds in einer Datenquelle zu generieren. Binden Sie zuerst die Datenquelle an ein Listensteuerelement, z. B. Repeater. Deklarieren Sie dann ein HtmlAnchor-Steuerelement innerhalb des Listensteuerelements. Fügen Sie schließlich Inlinecode für den Wert der HRef-Eigenschaft hinzu, der mithilfe der Eval-Methode der DataBinder-Klasse das zu verwendende Feld angibt.

Beispiel

Das folgende Beispiel veranschaulicht, wie eine URL dynamisch mit einem HtmlAnchor-Steuerelement verknüpft wird, wenn das Page_Load-Ereignis eintritt.

Sub Page_Load(ByVal sender As Object, ByVal e As EventArgs)
    anchor1.HRef = "https://www.microsoft.com"
End Sub
void Page_Load(object sender, EventArgs e)
{
    anchor1.HRef = "https://www.microsoft.com";
}

Im folgenden Beispiel wird veranschaulicht, wie ein HtmlAnchor-Steuerelement innerhalb eines Repeater-Steuerelements hinzugefügt wird. Daten werden an das Repeater-Steuerelement gebunden, während ein HtmlAnchor-Steuerelement in die ItemTemplateplatziert wird, die das angegebene Feld in der Datenquelle als Link anzeigt.

<%@ Page Language="VB" AutoEventWireup="True" %>
<%@ Import Namespace="System.Data" %>

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
    "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" >
<head>
<title>HtmlAnchor Control</title>
</head>

<script runat="server">
   Sub Page_Load(sender As Object, e As EventArgs)
      Dim dt As New DataTable()
      Dim dr As DataRow
      dt.Columns.Add(New DataColumn("IntegerValue", GetType(Int32)))
      dt.Columns.Add(New DataColumn("StringValue", GetType(String)))
      dt.Columns.Add(New DataColumn("DateTimeValue", GetType(DateTime)))
      dt.Columns.Add(New DataColumn("BoolValue", GetType(Boolean)))
      dt.Columns.Add(New DataColumn("CurrencyValue", GetType(Double)))
      Dim i As Integer
      For i = 0 To 8
         dr = dt.NewRow()
         dr(0) = i
         dr(1) = "Item " + i.ToString()
         dr(2) = DateTime.Now
         If i Mod 2 <> 0 Then
            dr(3) = True
         Else
            dr(3) = False
         End If
         dr(4) = 1.23 *(i + 1)
         dt.Rows.Add(dr)
      Next i
      MyRepeater.DataSource = New DataView(dt)
      MyRepeater.DataBind()
   End Sub
</script>

<body>
   <h3>Data Binding with the HtmlAnchor</h3>

   <br />
   <form id="Form1" runat="server">
      <asp:Repeater id="MyRepeater" runat="server">
         <ItemTemplate>
            Link for
            <a id="A1" href='<%# DataBinder.Eval(Container, _
                         "DataItem.StringValue", _
                         "detailspage.aspx?id={0}") %>' 
               runat="server">
               <%# DataBinder.Eval(Container, "DataItem.StringValue") %>
            </a>
         </ItemTemplate>
      </asp:Repeater>
   </form>
</body>
</html>
<%@ Page Language="C#" AutoEventWireup="True" %>
<%@ Import Namespace="System.Data" %>

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
    "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" >
<head>
<title>HtmlAnchor Control</title>
</head>
<script runat="server">
   void Page_Load(Object sender, EventArgs e) 
   {
      DataTable dt = new DataTable();
      DataRow dr;
      dt.Columns.Add(new DataColumn("IntegerValue", typeof(Int32)));
      dt.Columns.Add(new DataColumn("StringValue", typeof(string)));
      dt.Columns.Add(new DataColumn("DateTimeValue", typeof(DateTime)));
      dt.Columns.Add(new DataColumn("BoolValue", typeof(bool)));
      dt.Columns.Add(new DataColumn("CurrencyValue", typeof(double)));
      for (int i = 0; i < 9; i++) 
      {
         dr = dt.NewRow();
         dr[0] = i;
         dr[1] = "Item " + i.ToString();
         dr[2] = DateTime.Now;
         dr[3] = (i % 2 != 0) ? true : false;
         dr[4] = 1.23 * (i+1);
         dt.Rows.Add(dr);
      }
      MyRepeater.DataSource=new DataView(dt);
      MyRepeater.DataBind();
   }
</script>

<body>
   <h3>Data Binding with the HtmlAnchor</h3>
   <br />
   <form id="Form1" runat="server">
      <asp:Repeater id="MyRepeater" runat="server">
         <ItemTemplate>
            Link for
            <a id="A1" href='<%# DataBinder.Eval(Container,
                         "DataItem.StringValue",
                         "detailspage.aspx?id={0}") %>' 
               runat="server">
               <%# DataBinder.Eval(Container, "DataItem.StringValue") %>
            </a>
            <br />
         </ItemTemplate>
      </asp:Repeater>
   </form>
</body>
</html>

Siehe auch

Referenz

HtmlAnchor

Weitere Ressourcen

HTML-Serversteuerelemente