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.
Dient zum Abrufen oder Festlegen eines Arrays, das die Namen der Primärschlüsselfelder für die elemente enthält, die in einem ListView Steuerelement angezeigt werden.
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, das die Namen der Primärschlü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 Feld oder die Felder anzugeben, die den Primärschlüssel der Datenquelle darstellen. Wenn Sie diese Eigenschaft deklarativ festlegen möchten, verwenden Sie eine durch Trennzeichen getrennte Liste von Feldnamen.
Wenn die DataKeyNames Eigenschaft festgelegt wird, 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.
Von Bedeutung
Das ListView Steuerelement speichert Schlüsselfeldwerte im Steuerelementstatusfeld. Wenn diese Werte vertrauliche Informationen enthalten, wird empfohlen, die Ansichtszustandsverschlüsselung zu aktivieren, indem Sie die ViewStateEncryptionMode Eigenschaft auf ViewStateEncryptionMode.Alwaysfestlegen.
Sie müssen die DataKeyNames Eigenschaft festlegen, damit die automatischen Aktualisierungs- und Löschfunktionen des ListView Steuerelements funktionieren. Die Werte dieser Schlüsselfelder werden an das Datenquellensteuerelement übergeben, um dem Element zuzuordnen, das aktualisiert oder gelöscht werden soll.
Felder, die mithilfe der DataKeyNames Eigenschaft als Datenschlüssel angegeben werden, werden bei Aktualisierungs- und Löschvorgängen mithilfe der Keys Auflistung an das Datenquellensteuerelement übergeben. Datenschlüsselfelder werden an das Datenquellensteuerelement übergeben, auch wenn sie nicht an Steuerelemente in einer Vorlage gebunden sind.