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
- String[]
Ein Array, der die Namen der primären Schlüsselfelder für die in einem ListView-Steuerelement angezeigten Elemente enthält.
- Attribute
Beispiele
Im folgenden Beispiel wird gezeigt, 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 Feld oder die Felder anzugeben, die den Primärschlüssel der Datenquelle darstellen. Um diese Eigenschaft deklarativ festzulegen, verwenden Sie eine durch Komma getrennte Liste von Feldnamen.
Wenn die DataKeyNames Eigenschaft festgelegt wird, füllt das ListView Steuerelement die DataKeys Auflistung automatisch mit den Werten aus dem angegebenen Feld oder den Feldern auf. Dies bietet eine bequeme Möglichkeit, auf die Primärschlüssel jedes Elements zuzugreifen.
Wichtig
Das ListView Steuerelement speichert schlüsselfeldwerte im Steuerelementstatusfeld. Wenn diese Werte vertrauliche Informationen enthalten, empfehlen wir, die Ansichtszustandsverschlüsselung zu aktivieren, indem Sie die ViewStateEncryptionMode Eigenschaft auf ViewStateEncryptionMode.Always
festlegen.
Sie müssen die Eigenschaft für die DataKeyNames automatische Aktualisierung und das Löschen von Features des ListView Steuerelements festlegen, die funktionieren. Die Werte dieser Schlüsselfelder werden an das Datenquellensteuerelement übergeben, um dem Element zu entsprechen, um das Element zu aktualisieren oder zu löschen.
Felder, die mithilfe der Eigenschaft als Datentyp angegeben werden, werden während der Aktualisierungs- und Löschvorgänge mithilfe der DataKeyNames Keys
Auflistung an das Datenquellensteuerelement übergeben. Datenschlüsselfelder werden an das Datenquellensteuerelement übergeben, auch wenn sie nicht an Steuerelemente in einer Vorlage gebunden sind.