Este artigo foi traduzido por máquina. Para visualizar o arquivo em inglês, marque a caixa de seleção Inglês. Você também pode exibir o texto Em inglês em uma janela pop-up, movendo o ponteiro do mouse sobre o texto.
Tradução
Inglês

Propriedade ListView.DataKeyNames

 

Obtém ou define uma matriz que contém os nomes dos campos de chave primária para os itens exibidos em um controle ListView.

Namespace:   System.Web.UI.WebControls
Assembly:  System.Web.Extensions (em System.Web.Extensions.dll)

[TypeConverterAttribute(typeof(StringArrayConverter))]
public virtual string[] DataKeyNames { get; set; }

Valor da Propriedade

Type: System.String[]

Uma matriz que contém os nomes dos campos de chave primária para os itens exibidos em um controle ListView.

Use the P:System.Web.UI.WebControls.ListView.DataKeyNames property to specify the field or fields that represent the primary key of the data source. To set this property declaratively, use a comma-separated list of field names.

When the P:System.Web.UI.WebControls.ListView.DataKeyNames property is set, the T:System.Web.UI.WebControls.ListView control automatically populates its P:System.Web.UI.WebControls.ListView.DataKeys collection with the values from the specified field or fields. This provides a convenient way to access the primary keys of each item.

System_CAPS_security Segurança Observação

The T:System.Web.UI.WebControls.ListView control stores key field values in the control-state field. If these values contain sensitive information, we recommend that you enable view-state encryption by setting the P:System.Web.UI.Page.ViewStateEncryptionMode property to ViewStateEncryptionMode.Always.

You must set the P:System.Web.UI.WebControls.ListView.DataKeyNames property for the automatic updating and deleting features of the T:System.Web.UI.WebControls.ListView control to work. The values of these key fields are passed to the data source control in order to match the item to update or delete.

Fields that are specified as data keys by using the P:System.Web.UI.WebControls.ListView.DataKeyNames property are passed to the data source control during update and delete operations by using the Keys collection. Data key fields are passed to the data source control even if they are not bound to controls in a template.

The following example shows how to use the P:System.Web.UI.WebControls.ListView.DataKeyNames property to specify the key field of the data source.

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

.NET Framework
Disponível desde 3.5
Retornar ao início
Mostrar: