Erweitern Minimieren
Dieser Artikel wurde maschinell übersetzt. Bewegen Sie den Mauszeiger über die Sätze im Artikel, um den Originaltext anzuzeigen. Weitere Informationen
Übersetzung
Original
Dieser Artikel wurde noch nicht bewertet - Dieses Thema bewerten.

GridView.DataKeyNames-Eigenschaft

Ruft ein Array ab, das die Namen der primären Schlüsselfelder der in einem GridView-Steuerelement angezeigten Elemente enthält, bzw. legt das Array fest.

Namespace:  System.Web.UI.WebControls
Assembly:  System.Web (in System.Web.dll)
[TypeConverterAttribute(typeof(StringArrayConverter))]
public virtual string[] DataKeyNames { get; set; }
<asp:GridView DataKeyNames="value" />

Eigenschaftswert

Typ: System.String[]
Ein Array, der die Namen der primären Schlüsselfelder für die in einem GridView-Steuerelement angezeigten Elemente enthält.

Legen Sie mithilfe der DataKeyNames-Eigenschaft die Felder fest, die den primären Schlüssel der Datenquelle darstellen. Sie müssen die DataKeyNames-Eigenschaft festlegen, damit die Features des GridView-Steuerelements zum automatischen Aktualisieren und Löschen verfügbar sind. Die Werte dieser Schlüsselfelder werden an das Datenquellensteuerelement übergeben, um die zu aktualisierende bzw. zu löschende Zeile anzugeben.

Wenn die DataKeyNames-Eigenschaft festgelegt ist, füllt das GridView-Steuerelement automatisch die zugehörige DataKeys-Auflistung mit den Werten aus den angegebenen Feldern auf. Auf diese Weise ist ein benutzerfreundlicher Zugriff auf die primären Schlüssel jeder Zeile gewährleistet.

HinweisHinweis

Das GridView-Steuerelement speichert diese Schlüsselfeldwerte im Steuerelementzustand. Wenn die Werte sensible Informationen enthalten, wird dringend empfohlen, die Ansichtszustandsverschlüsselung zu aktivieren, indem Sie die ViewStateEncryptionMode-Eigenschaft auf ViewStateEncryptionMode.Always festlegen.

Bei der Verwendung automatisch generierter Feldspalten (durch Festlegen der AutoGenerateColumns-Eigenschaft auf true) stellt das GridView-Steuerelement sicher, dass die generierten Feldspalten, die den in der DataKeyNames-Eigenschaft angegebenen Feldern entsprechen, schreibgeschützt sind.

Wenn die Visible-Eigenschaft eines Spaltenfelds auf false festgelegt ist, wird die Spalte nicht im GridView-Steuerelement angezeigt, und die Daten für die Spalte durchlaufen keine Schleife zum Client. Wenn die Daten für die nicht angezeigte Spalte dem Client zur Verfügung stehen sollen, müssen Sie der DataKeyNames-Eigenschaft den Feldnamen hinzufügen.

Im folgenden Beispiel wird veranschaulicht, wie mit der DataKeyNames-Eigenschaft das Schlüsselfeld der Datenquelle festgelegt wird. Im Beispiel gibt das DataKeyNames-Attribut des GridView-Elements in Markup zwei Schlüsselfelder mit einem Komma an, um die Namen zu trennen. Um dieses Beispiel auszuführen, erstellen Sie eine Website, die Folgendes hat:

  • Eine Verbindung mit der AdventureWorksLT-Beispieldatenbank und eine Verbindungszeichenfolge, die AdventureWorksLTConnectionString lautet. Informationen zum Einrichten der Beispieldatenbank AdventureWorksLT finden Sie unter Walkthrough: Setting up an AdventureWorksLT Sample Database for ASP.NET Development.

  • Eine LINQ-to-SQL-Datenkontextklasse, die AdventureWorksLTDataClassesDataContext genannt wird. Der Datenkontext muss über eine Klasse für die Tabelle SalesOrderDetails verfügen. Weitere Informationen zum Erstellen von LINQ-to-SQL-Klassen finden Sie unter LINQ to SQL.


<asp:LinqDataSource ID="LinqDataSource1" runat="server" 
    ContextTypeName="AdventureWorksLTDataClassesDataContext"
    EnableDelete="True" EnableInsert="True" EnableUpdate="True" 
    TableName="SalesOrderDetails">
</asp:LinqDataSource>

<asp:GridView ID="GridView1" runat="server" 
    AutoGenerateColumns="False" 
    DataKeyNames="SalesOrderID,SalesOrderDetailID"
    DataSourceID="LinqDataSource1">
    <Columns>
        <asp:CommandField ShowDeleteButton="True" 
            ShowEditButton="True" />
        <asp:BoundField DataField="SalesOrderID" 
            HeaderText="SalesOrderID" ReadOnly="True"
            SortExpression="SalesOrderID" />
        <asp:BoundField DataField="SalesOrderDetailID" 
            HeaderText="SalesOrderDetailID" InsertVisible="False"
            ReadOnly="True" SortExpression="SalesOrderDetailID" />
        <asp:BoundField DataField="OrderQty" 
            HeaderText="OrderQty" SortExpression="OrderQty" />
        <asp:BoundField DataField="ProductID" 
            HeaderText="ProductID" SortExpression="ProductID" />
        <asp:BoundField DataField="UnitPrice" 
            HeaderText="UnitPrice" SortExpression="UnitPrice" />
        <asp:BoundField DataField="ModifiedDate" 
            HeaderText="ModifiedDate" SortExpression="ModifiedDate" />
    </Columns>
</asp:GridView>


.NET Framework

Unterstützt in: 4.5, 4, 3.5, 3.0, 2.0

Windows 8, Windows Server 2012, Windows 7, Windows Vista SP2, Windows Server 2008 (Server Core-Rolle wird nicht unterstützt), Windows Server 2008 R2 (Server Core-Rolle wird mit SP1 oder höher unterstützt; Itanium wird nicht unterstützt)

.NET Framework unterstützt nicht alle Versionen sämtlicher Plattformen. Eine Liste der unterstützten Versionen finden Sie unter Systemanforderungen für .NET Framework.
Fanden Sie dies hilfreich?
(1500 verbleibende Zeichen)

Community-Beiträge

HINZUFÜGEN
Microsoft führt eine Onlineumfrage durch, um Ihre Meinung zur MSDN-Website zu erfahren. Wenn Sie sich zur Teilnahme entscheiden, wird Ihnen die Onlineumfrage angezeigt, sobald Sie die MSDN-Website verlassen.

Möchten Sie an der Umfrage teilnehmen?
© 2013 Microsoft. Alle Rechte vorbehalten.