(0) exportieren Drucken
Alle erweitern
Erweitern Minimieren

Deklarative Syntax des HtmlAnchor-Serversteuerelements

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>

Verwenden Sie das HtmlAnchor-Steuerelement, um programmgesteuert ein <a>-Element in HTML zu steuern. Mit dem <a>-Element in HTML können Sie einen Hyperlink 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, Hyperlinks aus einer Datenquelle anzuzeigen und Ereignisse zu steuern, um HtmlAnchor-Steuerelemente dynamisch zu generieren.

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

Sie können den URL, zu dem 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. Beispiel:

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

HinweisHinweis

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 einen URL zuweist.

Zwar unterstützt das HtmlAnchor-Steuerelement nicht direkt das Binden an eine Datenquelle, Sie haben jedoch die Möglichkeit, Hyperlinks 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.

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

void Page_Load(object sender, EventArgs e)
{
    anchor1.HRef = "http://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 ItemTemplate platziert wird, die das angegebene Feld in der Datenquelle als Hyperlink anzeigt.

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

<html>
<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>
   <p>
   <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>
            <p>
         </ItemTemplate>
      </asp:Repeater>
   </form>
</body>
</html>

Anzeigen:
© 2014 Microsoft