ListView.DataKeyNames Özellik

Tanım

Denetimde görüntülenen öğeler için birincil anahtar alanlarının adlarını içeren bir ListView dizi alır veya ayarlar.

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()

Özellik Değeri

String[]

Denetimde görüntülenen öğeler için birincil anahtar alanlarının adlarını içeren dizi ListView .

Öznitelikler

Örnekler

Aşağıdaki örnekte, veri kaynağının DataKeyNames anahtar alanını belirtmek için özelliğinin nasıl kullanılacağı gösterilmektedir.

<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>

Açıklamalar

Veri kaynağının DataKeyNames birincil anahtarını temsil eden alanı veya alanları belirtmek için özelliğini kullanın. Bu özelliği bildirim temelli olarak ayarlamak için, alan adlarının virgülle ayrılmış bir listesini kullanın.

DataKeyNames özellik ayarlandığında, ListView denetim otomatik olarak koleksiyonunu belirtilen alan veya alanlardaki değerlerle doldururDataKeys. Bu, her öğenin birincil anahtarlarına erişmek için kullanışlı bir yol sağlar.

Önemli

Denetim, ListView anahtar alanı değerlerini denetim durumu alanında depolar. Bu değerler hassas bilgiler içeriyorsa, özelliğini ViewStateEncryptionMode.Alwaysolarak ayarlayarak görünüm durumu şifrelemesini ViewStateEncryptionMode etkinleştirmenizi öneririz.

Denetimin DataKeyNames otomatik güncelleştirme ve silme özelliklerinin ListView çalışmasını sağlamak için özelliğini ayarlamanız gerekir. Bu anahtar alanlarının değerleri, güncelleştirilecek veya silinecek öğeyle eşleşecek şekilde veri kaynağı denetimine geçirilir.

özelliği kullanılarak veri anahtarları olarak belirtilen alanlar, koleksiyonu kullanılarak DataKeyNames güncelleştirme ve silme işlemleri sırasında veri kaynağı denetimine Keys geçirilir. Veri anahtarı alanları, bir şablondaki denetimlere bağlı olmasalar bile veri kaynağı denetimine geçirilir.

Şunlara uygulanır

Ayrıca bkz.