Freigeben über


DataKey Klasse

Definition

Stellt das oder Primärschlüsselfelder eines Datensatzes in einem datengebundenen Steuerelement dar.

public ref class DataKey : System::Web::UI::IStateManager
public ref class DataKey : IEquatable<System::Web::UI::WebControls::DataKey ^>, System::Web::UI::IStateManager
public class DataKey : System.Web.UI.IStateManager
public class DataKey : IEquatable<System.Web.UI.WebControls.DataKey>, System.Web.UI.IStateManager
type DataKey = class
    interface IStateManager
type DataKey = class
    interface IStateManager
    interface IEquatable<DataKey>
Public Class DataKey
Implements IStateManager
Public Class DataKey
Implements IEquatable(Of DataKey), IStateManager
Vererbung
DataKey
Implementiert

Beispiele

Im folgenden Codebeispiel wird veranschaulicht, wie Sie den Primärschlüsselwert eines Datensatzes in einem DetailsView Steuerelement mithilfe der Value Eigenschaft eines DataKey Objekts ermitteln.


<%@ Page language="C#" %>

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
    "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<script runat="server">

  void CustomerDetailsView_DataBound(Object sender, EventArgs e)
  {
    // Get the DataKey object for the current record.
    DataKey key = CustomerDetailsView.DataKey;
    
    // Display the value of the key field.
    MessageLabel.Text = "The key field value for the displayed record is " + 
      key.Value.ToString() + ".";
  }
  
</script>

<html xmlns="http://www.w3.org/1999/xhtml" >

  <head runat="server">
    <title>DataKey Example</title>
</head>
<body>
    <form id="form1" runat="server">
        
      <h3>DataKey Example</h3>
                       
        <asp:detailsview id="CustomerDetailsView"
          datasourceid="DetailsViewSource"
          autogeneraterows="true"
          datakeynames="CustomerID"  
          allowpaging="true"
          ondatabound="CustomerDetailsView_DataBound" 
          runat="server">
            
        </asp:detailsview>
        
        <br/>
        
        <asp:label id="MessageLabel"
          forecolor="Red"
          runat="server"/>
            
        <!-- This example uses Microsoft SQL Server and connects  -->
        <!-- to the Northwind sample database. Use an ASP.NET     -->
        <!-- expression to retrieve the connection string value   -->
        <!-- from the Web.config file.                            -->
        <asp:sqldatasource id="DetailsViewSource"
          selectcommand="Select [CustomerID], [CompanyName], [Address], [City], [PostalCode], [Country] From [Customers]"
          connectionstring="<%$ ConnectionStrings:NorthWindConnectionString%>" 
          runat="server"/>
            
      </form>
  </body>
</html>

<%@ Page language="VB" %>

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
    "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<script runat="server">

  Sub CustomerDetailsView_DataBound(ByVal sender As Object, ByVal e As EventArgs) Handles CustomerDetailsView.DataBound

    ' Get the DataKey object for the current record.
    Dim key As DataKey = CustomerDetailsView.DataKey
    
    ' Display the value of the key field.
    MessageLabel.Text = "The key field value for the displayed record is " & _
      key.Value.ToString() & "."
    
  End Sub
  
</script>

<html xmlns="http://www.w3.org/1999/xhtml" >

  <head runat="server">
    <title>DataKey Example</title>
</head>
<body>
    <form id="form1" runat="server">
        
      <h3>DataKey Example</h3>
                       
        <asp:detailsview id="CustomerDetailsView"
          datasourceid="DetailsViewSource"
          autogeneraterows="true"
          datakeynames="CustomerID"  
          allowpaging="true"
          runat="server">
            
        </asp:detailsview>
        
        <br/>
        
        <asp:label id="MessageLabel"
          forecolor="Red"
          runat="server"/>
            
        <!-- This example uses Microsoft SQL Server and connects  -->
        <!-- to the Northwind sample database. Use an ASP.NET     -->
        <!-- expression to retrieve the connection string value   -->
        <!-- from the Web.config file.                            -->
        <asp:sqldatasource id="DetailsViewSource"
          selectcommand="Select [CustomerID], [CompanyName], [Address], [City], [PostalCode], [Country] From [Customers]"
          connectionstring="<%$ ConnectionStrings:NorthWindConnectionString%>" 
          runat="server"/>
            
      </form>
  </body>
</html>

Hinweise

Die DataKey Klasse wird verwendet, um den Primärschlüssel für einen Datensatz in einem datengebundenen Steuerelement darzustellen. Der Primärschlüssel für einen Datensatz kann aus einem von mehreren Feldern aus der Datenquelle bestehen. Obwohl die DataKey Klasse keine Auflistung ist, kann sie mehrere Schlüsselfeldwerte speichern. Die Schlüsselfeldwerte werden aufgefüllt, wenn eine der Konstruktoren für die DataKey Klasse aufgerufen wird. Sie können einen Schlüsselfeldwert auf folgende Weise aus einem DataKey Objekt abrufen:

  • Verwenden Sie die DataKey.Item[Int32] Eigenschaft, um einen Schlüsselfeldwert bei einem bestimmten Index im DataKey Objekt abzurufen.

  • Verwenden Sie die DataKey.Item[String] Eigenschaft, um einen Schlüsselfeldwert eines bestimmten Felds abzurufen.

  • Verwenden Sie die Value Eigenschaft, um den Wert des Schlüsselfelds bei Index 0 im DataKey Objekt abzurufen. Diese Eigenschaft wird häufig als Verknüpfung verwendet, um den Schlüsselwert eines Datensatzes abzurufen, wenn der Primärschlüssel nur ein Feld enthält.

  • Verwenden Sie die Values Eigenschaft, um ein IOrderedDictionary Objekt zu erstellen, das zum Durchlaufen der Schlüsselfeldwerte verwendet werden kann.

Im Allgemeinen werden Objekte automatisch durch datengebundene Steuerelemente generiert, DataKey wenn die Eigenschaft des Steuerelements DataKeyNames festgelegt wird. Die DataKey Objekte enthalten die Werte des schlüsselfelds oder der felder, die in der DataKeyNames Eigenschaft angegeben sind. Datengebundene Steuerelemente, die jeweils einen einzelnen Datensatz anzeigen (z. B DetailsView . oder FormView) speichern im Allgemeinen das DataKey Objekt für den aktuellen Datensatz, der in der DataKey Eigenschaft des Steuerelements angezeigt wird. Datengebundene Steuerelemente, die mehrere Datensätze gleichzeitig anzeigen (z. B GridView. ) speichern im Allgemeinen die DataKey Objekte für jeden Datensatz im Steuerelement in einer DataKeyArray Auflistung. Die DataKeyArray Auflistung wird dann in der DataKeys Eigenschaft des Steuerelements gespeichert.

Konstruktoren

DataKey(IOrderedDictionary)

Initialisiert eine neue Instanz der DataKey-Klasse unter Verwendung des angegebenen Wörterbuchs der Schlüsselfeldwerte.

DataKey(IOrderedDictionary, String[])

Initialisiert eine neue Instanz der DataKey-Klasse unter Verwendung des angegebenen Wörterbuchs der Schlüsselfeldwerte und des angegebenen Feldnamenarrays.

Eigenschaften

IsTrackingViewState

Ruft einen Wert ab, der angibt, ob das DataKey-Objekt die Änderungen des Ansichtszustands nachverfolgt.

Item[Int32]

Ruft den Wert des Schlüsselfelds am angegebenen Index aus einem DataKey-Objekt ab.

Item[String]

Ruft den Wert des Schlüsselfelds mit dem angegebenen Feldnamen aus einem DataKey-Objekt ab.

Value

Ruft den Wert des Schlüsselfelds am Index 0 (null) im DataKey-Objekt ab.

Values

Ruft ein IOrderedDictionary-Objekt ab, das jedes Schlüsselfeld im DataKey-Objekt enthält.

Methoden

Equals(DataKey)

Bestimmt, ob das angegebene DataKey-Array und der aktuelle Datenschlüssel gleich sind.

Equals(Object)

Bestimmt, ob das angegebene Objekt gleich dem aktuellen Objekt ist.

(Geerbt von Object)
GetHashCode()

Fungiert als Standardhashfunktion.

(Geerbt von Object)
GetType()

Ruft den Type der aktuellen Instanz ab.

(Geerbt von Object)
LoadViewState(Object)

Lädt den zuvor gespeicherten Ansichtszustand des DataKey-Objekts.

MemberwiseClone()

Erstellt eine flache Kopie des aktuellen Object.

(Geerbt von Object)
SaveViewState()

Speichert den aktuellen Ansichtszustand des DataKey-Objekts.

ToString()

Gibt eine Zeichenfolge zurück, die das aktuelle Objekt darstellt.

(Geerbt von Object)
TrackViewState()

Markiert den Ausgangspunkt, an dem die Nachverfolgung und das Speichern der Ansichtszustandsänderungen des DataKey-Objekts beginnen soll.

Explizite Schnittstellenimplementierungen

IStateManager.IsTrackingViewState

Ruft einen Wert ab, der angibt, ob das DataKey-Objekt die Änderungen des Ansichtszustands nachverfolgt.

IStateManager.LoadViewState(Object)

Lädt den zuvor gespeicherten Ansichtszustand des DataKey-Objekts.

IStateManager.SaveViewState()

Speichert den aktuellen Ansichtszustand des DataKey-Objekts.

IStateManager.TrackViewState()

Markiert den Ausgangspunkt, an dem die Nachverfolgung und das Speichern der Ansichtszustandsänderungen des DataKey-Objekts beginnen soll.

Gilt für

Siehe auch