Freigeben über


HyperLinkColumn-Klasse

Ein Spaltentyp für das DataGrid-Steuerelement, das für jedes Element in der Spalte einen Hyperlink enthält.

Namespace: System.Web.UI.WebControls
Assembly: System.Web (in system.web.dll)

Syntax

'Declaration
Public Class HyperLinkColumn
    Inherits DataGridColumn
'Usage
Dim instance As HyperLinkColumn
public class HyperLinkColumn : DataGridColumn
public ref class HyperLinkColumn : public DataGridColumn
public class HyperLinkColumn extends DataGridColumn
public class HyperLinkColumn extends DataGridColumn

Hinweise

Mithilfe des HyperLinkColumn-Spaltentyps wird in einem DataGrid-Steuerelement für jede einzelne Zeile im DataGrid ein Hyperlink erstellt. Legen Sie die Text-Eigenschaft fest, um den Beschriftungstext für den Hyperlink anzugeben. Legen Sie die href-Eigenschaft fest, um den URL anzugeben, der beim Klicken auf den Hyperlink geöffnet werden soll.

Hinweis

Wenn Sie die Text-Eigenschaft und die href-Eigenschaft festlegen, wird für alle Hyperlinks in der Spalte dieselbe Beschriftung und derselbe URL verwendet.

Sie können den Beschriftungstext und den URL der Hyperlinks in der HyperLinkColumn auch an ein Feld in einer Datenquelle binden, statt die Text-Eigenschaft und die href-Eigenschaft festzulegen. Auf diese Weise können Sie für jeden Hyperlink in der Spalte eine andere Beschriftung anzeigen und einen anderen URL angeben.

Mit der DataTextField-Eigenschaft können Sie ein Feld in einer Datenquelle angegeben, das an den Beschriftungstext der Hyperlinks in der Spalte gebunden werden soll.

Hinweis

Die DataTextField-Eigenschaft und die Text-Eigenschaft können nicht gleichzeitig festgelegt werden. Wenn beide Eigenschaften festgelegt sind, hat die DataTextField-Eigenschaft Vorrang.

Geben Sie das an den URL des Hyperlinks zu bindende Feld an, indem Sie die DatahrefField-Eigenschaft festlegen.

Hinweis

Die DatahrefField-Eigenschaft und die href-Eigenschaft können nicht gleichzeitig festgelegt werden. Wenn beide Eigenschaften festgelegt sind, hat die DatahrefField-Eigenschaft Vorrang.

Mithilfe der Target-Eigenschaft können Sie das Fenster oder den Frame angeben, in dem der Inhalt der verknüpften Webseite dargestellt werden soll, wenn auf den Hyperlink geklickt wird.

Wenn Sie Datenbindung verwenden, können Sie Beschriftungstext und URL des Hyperlinks formatieren, indem Sie die DataTextFormatString-Eigenschaft bzw. die DatahrefFormatString-Eigenschaft festlegen.

Warnung

Dieses Steuerelement kann zum Anzeigen von Benutzereingaben verwendet werden, die u. U. bösartige Clientskripts enthalten können. Überprüfen Sie alle von einem Client gesendeten Informationen auf ausführbare Skripts, SQL-Anweisungen oder anderen Code, bevor Sie sie in der Anwendung anzeigen. Mithilfe von Validierungssteuerelementen können Sie Benutzereingaben überprüfen, bevor Sie den Eingabetext in einem Steuerelement anzeigen. ASP.NET stellt ein Feature zur Anforderungsvalidierung von Eingaben bereit, um Skripts und HTML in Benutzereingaben zu blockieren. Weitere Informationen finden Sie unter Sichern von StandardsteuerelementenGewusst wie: Schutz gegen Skriptangriffe in einer Webanwendung durch Anwenden von HTML-Codierung auf Zeichenfolgen und Überprüfen der Benutzereingabe in ASP.NET-Webseiten.

Beispiel

Das folgende Beispiel veranschaulicht, wie eine HyperLinkColumn mit einer Verknüpfung zu einer separaten Seite erstellt wird.

Hinweis

Im folgenden Codebeispiel wird das Einzeldatei-Codemodell verwendet. Das Beispiel funktioniert möglicherweise nicht, wenn es direkt in eine Code-Behind-Datei kopiert wird. Dieses Codebeispiel muss in eine leere Textdatei mit einer ASPX-Erweiterung kopiert werden. Weitere Informationen zum Web Forms-Codemodell finden Sie unter Codemodell für ASP.NET-Webseiten.

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

<html>

<head>

   <script runat="server">

      Function CreateDataSource() As ICollection 
      
         Dim dt As DataTable = New DataTable()
         Dim dr As DataRow
         Dim i As Integer

         dt.Columns.Add(New DataColumn("IntegerValue", GetType(Int32)))
         dt.Columns.Add(New DataColumn("PriceValue", GetType(Double)))
       
         For i = 0 to 2 
         
            dr = dt.NewRow()

            dr(0) = i
            dr(1) = CDbl(i) * 1.23

            dt.Rows.Add(dr)

         Next i

         Dim dv As DataView = New DataView(dt)
         Return dv

      End Function

      Sub Page_Load(sender As Object, e As EventArgs) 
    
         MyDataGrid.DataSource = CreateDataSource()
         MyDataGrid.DataBind()

      End Sub

   </script>

</head>

<body>

   <form runat="server">

      <h3>HyperLinkColumn Example<h3>

      <asp:DataGrid id="MyDataGrid" 
           BorderColor="black"
           BorderWidth="1"
           GridLines="Both"
           AutoGenerateColumns="false"
           runat="server">

         <HeaderStyle BackColor="#aaaadd"/>

         <Columns>

            <asp:HyperLinkColumn
                 HeaderText="Select an Item"
                 DatahrefField="IntegerValue"
                 DatahrefFormatString="detailspage.aspx?id={0}"
                 DataTextField="PriceValue"
                 DataTextFormatString="{0:c}"
                 Target="_blank"/>
           
         </Columns>

      </asp:DataGrid>

   </form>

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

<html>

<head>

   <script runat="server">

      ICollection CreateDataSource() 
      {
         DataTable dt = new DataTable();
         DataRow dr;

         dt.Columns.Add(new DataColumn("IntegerValue", typeof(Int32)));
         dt.Columns.Add(new DataColumn("PriceValue", typeof(Double)));
       
         for (int i = 0; i < 3; i++) 
         {
            dr = dt.NewRow();

            dr[0] = i;
            dr[1] = (Double)i * 1.23;

            dt.Rows.Add(dr);
         }

         DataView dv = new DataView(dt);
         return dv;
      }

      void Page_Load(Object sender, EventArgs e) 
      {
         MyDataGrid.DataSource = CreateDataSource();
         MyDataGrid.DataBind();
      }

   </script>

</head>

<body>

   <form runat="server">

      <h3>HyperLinkColumn Example<h3>

      <asp:DataGrid id="MyDataGrid" 
           BorderColor="black"
           BorderWidth="1"
           GridLines="Both"
           AutoGenerateColumns="false"
           runat="server">

         <HeaderStyle BackColor="#aaaadd"/>

         <Columns>

            <asp:HyperLinkColumn
                 HeaderText="Select an Item"
                 DatahrefField="IntegerValue"
                 DatahrefFormatString="detailspage.aspx?id={0}"
                 DataTextField="PriceValue"
                 DataTextFormatString="{0:c}"
                 Target="_blank"/>
           
         </Columns>

      </asp:DataGrid>

   </form>

</body>
</html>

Das folgende, entsprechende Beispiel zeigt das im vorhergehenden Beispiel ausgewählte Element an.

<%@ Page Language="VB" AutoEventWireup="True" %>
<html>
<head>
 
   <script runat="server">
 
      Sub Page_Load(sender As Object, e As EventArgs) 
      
         Label1.Text = "You selected item: " & Request.QueryString("id")
      
      End Sub
 
   </script>
 
</head>
<body>
 
   <h3>Details page for DataGrid</h3>
 
   <asp:Label id="Label1"
        runat="server"/>
 
</body>
</html>
<%@ Page Language="C#" AutoEventWireup="True" %>
<html>
<head>
 
   <script runat="server">
 
      void Page_Load(Object sender, EventArgs e) 
      {
         Label1.Text = "You selected item: " + Request.QueryString["id"];
      }
 
   </script>
 
</head>
<body>
 
   <h3>Details page for DataGrid</h3>
 
   <asp:Label id="Label1"
        runat="server"/>
 
</body>
</html>

.NET Framework-Sicherheit

Vererbungshierarchie

System.Object
   System.Web.UI.WebControls.DataGridColumn
    System.Web.UI.WebControls.HyperLinkColumn

Threadsicherheit

Alle öffentlichen statischen (Shared in Visual Basic) Member dieses Typs sind threadsicher. Bei Instanzmembern ist die Threadsicherheit nicht gewährleistet.

Plattformen

Windows 98, Windows 2000 SP4, Windows Server 2003, Windows XP Media Center Edition, Windows XP Professional x64 Edition, Windows XP SP2, Windows XP Starter Edition

.NET Framework unterstützt nicht alle Versionen sämtlicher Plattformen. Eine Liste der unterstützten Versionen finden Sie unter Systemanforderungen.

Versionsinformationen

.NET Framework

Unterstützt in: 2.0, 1.1, 1.0

Siehe auch

Referenz

HyperLinkColumn-Member
System.Web.UI.WebControls-Namespace
DataGridColumn-Klasse
DataGridColumnCollection-Klasse
DataGrid-Klasse
HyperLink-Klasse
BoundColumn-Klasse
ButtonColumn-Klasse
EditCommandColumn-Klasse
TemplateColumn

Weitere Ressourcen

Sichern von Standardsteuerelementen
Gewusst wie: Schutz gegen Skriptangriffe in einer Webanwendung durch Anwenden von HTML-Codierung auf Zeichenfolgen
Überprüfen der Benutzereingabe in ASP.NET-Webseiten