ListView.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 primären Schlüsselfelder der in einem ListView-Steuerelement angezeigten Elemente enthält, bzw. legt das Array fest.
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
Ein Array, der die Namen der primären Schlüsselfelder für die in einem ListView-Steuerelement angezeigten Elemente enthält.
- Attribute
Beispiele
Das folgende Beispiel zeigt, wie sie die DataKeyNames -Eigenschaft verwenden, um das Schlüsselfeld der Datenquelle anzugeben.
<asp:ListView runat="server"
ID="EmployeesListView"
OnItemCommand="EmployeesListView_OnItemCommand"
DataSourceID="EmployeesDataSource"
DataKeyNames="EmployeeID">
<LayoutTemplate>
<table runat="server" id="tblEmployees"
cellspacing="0" cellpadding="1" width="440px" border="1">
<tr id="itemPlaceholder" runat="server"></tr>
</table>
<asp:DataPager ID="EmployeesDataPager" runat="server" PageSize="10">
<Fields>
<asp:NumericPagerField />
</Fields>
</asp:DataPager>
</LayoutTemplate>
<ItemTemplate>
<tr runat="server">
<td>
<asp:Label runat="server" ID="NameLabel"
Text='<%#Eval("LastName") + ", " + Eval("FirstName") %>' />
</td>
<td style="width:80px">
<asp:LinkButton runat="server"
ID="SelectEmployeeButton"
Text="Add To List"
CommandName="AddToList"
CommandArgument='<%#Eval("LastName") + ", " + Eval("FirstName") %>' />
</td>
</tr>
</ItemTemplate>
</asp:ListView>
<br /><br />
<b>Selected Employees:</b><br />
<asp:ListBox runat="server" ID="SelectedEmployeesListBox" Rows="10" Width="300px" />
<!-- This example uses Microsoft SQL Server and connects -->
<!-- to the AdventureWorks sample database. Use an ASP.NET -->
<!-- expression to retrieve the connection string value -->
<!-- from the Web.config file. -->
<asp:SqlDataSource ID="EmployeesDataSource" runat="server"
ConnectionString="<%$ ConnectionStrings:AdventureWorks_DataConnectionString %>"
SelectCommand="SELECT [EmployeeID], [FirstName], [LastName]
FROM HumanResources.vEmployee
ORDER BY [LastName], [FirstName], [EmployeeID]">
</asp:SqlDataSource>
<asp:ListView runat="server"
ID="EmployeesListView"
OnItemCommand="EmployeesListView_OnItemCommand"
DataSourceID="EmployeesDataSource"
DataKeyNames="EmployeeID">
<LayoutTemplate>
<table runat="server" id="tblEmployees"
cellspacing="0" cellpadding="1" width="440px" border="1">
<tr id="itemPlaceholder" runat="server"></tr>
</table>
<asp:DataPager ID="EmployeesDataPager" runat="server" PageSize="10">
<Fields>
<asp:NumericPagerField />
</Fields>
</asp:DataPager>
</LayoutTemplate>
<ItemTemplate>
<tr runat="server">
<td>
<asp:Label runat="server" ID="NameLabel"
Text='<%#Eval("LastName") & ", " & Eval("FirstName") %>' />
</td>
<td style="width:80px">
<asp:LinkButton runat="server"
ID="SelectEmployeeButton"
Text="Add To List"
CommandName="AddToList"
CommandArgument='<%#Eval("LastName") & ", " & Eval("FirstName") %>' />
</td>
</tr>
</ItemTemplate>
</asp:ListView>
<br /><br />
<b>Selected Employees:</b><br />
<asp:ListBox runat="server" ID="SelectedEmployeesListBox" Rows="10" Width="300px" />
<!-- This example uses Microsoft SQL Server and connects -->
<!-- to the AdventureWorks sample database. Use an ASP.NET -->
<!-- expression to retrieve the connection string value -->
<!-- from the Web.config file. -->
<asp:SqlDataSource ID="EmployeesDataSource" runat="server"
ConnectionString="<%$ ConnectionStrings:AdventureWorks_DataConnectionString %>"
SelectCommand="SELECT [EmployeeID], [FirstName], [LastName]
FROM HumanResources.vEmployee
ORDER BY [LastName], [FirstName], [EmployeeID]">
</asp:SqlDataSource>
Hinweise
Verwenden Sie die DataKeyNames -Eigenschaft, um das Bzw. die Felder anzugeben, die den Primärschlüssel der Datenquelle darstellen. Um diese Eigenschaft deklarativ festzulegen, verwenden Sie eine durch Trennzeichen getrennte Liste von Feldnamen.
Wenn die DataKeyNames -Eigenschaft festgelegt ist, füllt das ListView Steuerelement seine DataKeys Auflistung automatisch mit den Werten aus dem angegebenen Feld oder den angegebenen Feldern auf. Dies bietet eine bequeme Möglichkeit, auf die Primärschlüssel jedes Elements zuzugreifen.
Wichtig
Das ListView Steuerelement speichert Schlüsselfeldwerte im Steuerelementzustandsfeld. Wenn diese Werte vertrauliche Informationen enthalten, empfiehlt es sich, die Verschlüsselung des Ansichtszustands zu aktivieren, indem Sie die ViewStateEncryptionMode -Eigenschaft auf ViewStateEncryptionMode.Always
festlegen.
Sie müssen festlegen, dass die DataKeyNames -Eigenschaft für das automatische Aktualisieren und Löschen von Features des ListView Steuerelements funktioniert. Die Werte dieser Schlüsselfelder werden an das Datenquellensteuerelement übergeben, um das zu aktualisierende oder zu löschende Element abzugleichen.
Felder, die mithilfe der DataKeyNames -Eigenschaft als Datenschlüssel angegeben werden, werden bei Aktualisierungs- und Löschvorgängen mithilfe der Auflistung an das Keys
Datenquellensteuerelement übergeben. Datenschlüsselfelder werden auch dann an das Datenquellensteuerelement übergeben, wenn sie nicht an Steuerelemente in einer Vorlage gebunden sind.