Freigeben über


DetailsView.DataKeyNames Eigenschaft

Definition

Ruft ein Array ab, das die Namen der Schlüsselfelder für die Datenquelle enthält.

public:
 virtual property cli::array <System::String ^> ^ DataKeyNames { cli::array <System::String ^> ^ get(); void set(cli::array <System::String ^> ^ value); };
[System.ComponentModel.TypeConverter(typeof(System.Web.UI.WebControls.StringArrayConverter))]
public virtual string[] DataKeyNames { get; set; }
[<System.ComponentModel.TypeConverter(typeof(System.Web.UI.WebControls.StringArrayConverter))>]
member this.DataKeyNames : string[] with get, set
Public Overridable Property DataKeyNames As String()

Eigenschaftswert

String[]

Ein Array, das die Namen der Schlüsselfelder der Datenquelle enthält.

Attribute

Beispiele

Im folgenden Codebeispiel wird veranschaulicht, wie Sie die DataKeyNames Eigenschaft verwenden, um das Schlüsselfeld für die an das DetailsView Steuerelement gebundene Datenquelle zu identifizieren.


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

<!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 runat="server">
    <title>DetailsView AutoGenerateDeleteButton Example</title>
</head>
<body>
    <form id="Form1" runat="server">
        
      <h3>DetailsView AutoGenerateDeleteButton Example</h3>
                
        <asp:detailsview id="CustomersDetailView"
          datasourceid="DetailsViewSource"
          datakeynames="CustomerID"
          autogeneratedeletebutton="true"  
          autogeneraterows="true"
          allowpaging="true"  
          runat="server">
               
          <headerstyle backcolor="Navy"
            forecolor="White"/>
                    
        </asp:detailsview>
        
        <!-- 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" runat="server" 
            ConnectionString=
              "<%$ ConnectionStrings:NorthWindConnectionString%>"
            InsertCommand="INSERT INTO [Customers]([CustomerID], 
              [CompanyName], [Address], [City], [PostalCode], [Country]) 
              VALUES (@CustomerID, @CompanyName, @Address, @City, 
              @PostalCode, @Country)"
            SelectCommand="Select [CustomerID], [CompanyName], 
              [Address], [City], [PostalCode], [Country] From 
              [Customers]">
        </asp:SqlDataSource>
    </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">
<html xmlns="http://www.w3.org/1999/xhtml" >
  <head runat="server">
    <title>DetailsView AutoGenerateDeleteButton Example</title>
</head>
<body>
    <form id="Form1" runat="server">
        
      <h3>DetailsView AutoGenerateDeleteButton Example</h3>
                
        <asp:detailsview id="CustomersDetailView"
          datasourceid="DetailsViewSource"
          datakeynames="CustomerID"
          autogeneratedeletebutton="true"  
          autogeneraterows="true"
          allowpaging="true"  
          runat="server">
               
          <headerstyle backcolor="Navy"
            forecolor="White"/>
                    
        </asp:detailsview>
        
        <!-- 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" runat="server" 
            ConnectionString=
              "<%$ ConnectionStrings:NorthWindConnectionString%>"
            InsertCommand="INSERT INTO [Customers]([CustomerID], 
              [CompanyName], [Address], [City], [PostalCode], [Country]) 
              VALUES (@CustomerID, @CompanyName, @Address, @City, 
              @PostalCode, @Country)"
            SelectCommand="Select [CustomerID], [CompanyName], 
              [Address], [City], [PostalCode], [Country] From 
              [Customers]">
        </asp:SqlDataSource>
    </form>
  </body>
</html>

Hinweise

Verwenden Sie die DataKeyNames Eigenschaft, um eine durch Komma getrennte Liste von Feldnamen anzugeben, die den Primärschlüssel der Datenquelle darstellen. Wenn die DataKeyNames Eigenschaft festgelegt wird, erstellt das DetailsView Steuerelement automatisch ein DataKey Objekt, das das Schlüsselfeld oder die Felder für den aktuellen Datensatz darstellt und diese in der DataKey Eigenschaft speichert. Wenn die AutoGenerateColumns Eigenschaft auch auf truefestgelegt ist, stellt das DetailsView Steuerelement automatisch sicher, dass das feld oder die felder, die in der DataKeyNames Eigenschaft angegeben sind, schreibgeschützt sind.

Hinweis

Sie müssen die Eigenschaft für die DataKeyNames automatische Aktualisierung, Das Löschen und Einfügen von Features des DetailsView Steuerelements festlegen, um zu funktionieren.

Wenn die Visible Eigenschaft eines Zeilenfelds auf falsefestgelegt ist, wird die Zeile nicht im DetailsView Steuerelement angezeigt, und die Daten für die Zeile machen keine Rundreise zum Client. Wenn Die Daten für eine Zeile, die nicht sichtbar ist, um einen Rundtrip vorzunehmen, fügen Sie den Feldnamen zur DataKeyNames Eigenschaft hinzu.

Gilt für

Siehe auch