DetailsView.DataKeyNames Eigenschaft
Definition
Wichtig
Einige Informationen beziehen sich auf Vorabversionen, die vor dem Release ggf. grundlegend überarbeitet werden. Microsoft übernimmt hinsichtlich der hier bereitgestellten Informationen keine Gewährleistungen, seien sie ausdrücklich oder konkludent.
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 true
festgelegt 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 false
festgelegt 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.