Partilhar via


DataKey Classe

Definição

Representa o campo de chave primária ou os campos de um registro em um controle associado a dados.

public ref class DataKey : System::Web::UI::IStateManager
public ref class DataKey : IEquatable<System::Web::UI::WebControls::DataKey ^>, System::Web::UI::IStateManager
public class DataKey : System.Web.UI.IStateManager
public class DataKey : IEquatable<System.Web.UI.WebControls.DataKey>, System.Web.UI.IStateManager
type DataKey = class
    interface IStateManager
type DataKey = class
    interface IStateManager
    interface IEquatable<DataKey>
Public Class DataKey
Implements IStateManager
Public Class DataKey
Implements IEquatable(Of DataKey), IStateManager
Herança
DataKey
Implementações

Exemplos

O exemplo de código a seguir demonstra como determinar o valor da chave primária de um registro em um DetailsView controle usando a Value propriedade de um DataKey objeto.


<%@ Page language="C#" %>

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
    "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<script runat="server">

  void CustomerDetailsView_DataBound(Object sender, EventArgs e)
  {
    // Get the DataKey object for the current record.
    DataKey key = CustomerDetailsView.DataKey;
    
    // Display the value of the key field.
    MessageLabel.Text = "The key field value for the displayed record is " + 
      key.Value.ToString() + ".";
  }
  
</script>

<html xmlns="http://www.w3.org/1999/xhtml" >

  <head runat="server">
    <title>DataKey Example</title>
</head>
<body>
    <form id="form1" runat="server">
        
      <h3>DataKey Example</h3>
                       
        <asp:detailsview id="CustomerDetailsView"
          datasourceid="DetailsViewSource"
          autogeneraterows="true"
          datakeynames="CustomerID"  
          allowpaging="true"
          ondatabound="CustomerDetailsView_DataBound" 
          runat="server">
            
        </asp:detailsview>
        
        <br/>
        
        <asp:label id="MessageLabel"
          forecolor="Red"
          runat="server"/>
            
        <!-- This example uses Microsoft SQL Server and connects  -->
        <!-- to the Northwind sample database. Use an ASP.NET     -->
        <!-- expression to retrieve the connection string value   -->
        <!-- from the Web.config file.                            -->
        <asp:sqldatasource id="DetailsViewSource"
          selectcommand="Select [CustomerID], [CompanyName], [Address], [City], [PostalCode], [Country] From [Customers]"
          connectionstring="<%$ ConnectionStrings:NorthWindConnectionString%>" 
          runat="server"/>
            
      </form>
  </body>
</html>

<%@ Page language="VB" %>

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
    "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<script runat="server">

  Sub CustomerDetailsView_DataBound(ByVal sender As Object, ByVal e As EventArgs) Handles CustomerDetailsView.DataBound

    ' Get the DataKey object for the current record.
    Dim key As DataKey = CustomerDetailsView.DataKey
    
    ' Display the value of the key field.
    MessageLabel.Text = "The key field value for the displayed record is " & _
      key.Value.ToString() & "."
    
  End Sub
  
</script>

<html xmlns="http://www.w3.org/1999/xhtml" >

  <head runat="server">
    <title>DataKey Example</title>
</head>
<body>
    <form id="form1" runat="server">
        
      <h3>DataKey Example</h3>
                       
        <asp:detailsview id="CustomerDetailsView"
          datasourceid="DetailsViewSource"
          autogeneraterows="true"
          datakeynames="CustomerID"  
          allowpaging="true"
          runat="server">
            
        </asp:detailsview>
        
        <br/>
        
        <asp:label id="MessageLabel"
          forecolor="Red"
          runat="server"/>
            
        <!-- This example uses Microsoft SQL Server and connects  -->
        <!-- to the Northwind sample database. Use an ASP.NET     -->
        <!-- expression to retrieve the connection string value   -->
        <!-- from the Web.config file.                            -->
        <asp:sqldatasource id="DetailsViewSource"
          selectcommand="Select [CustomerID], [CompanyName], [Address], [City], [PostalCode], [Country] From [Customers]"
          connectionstring="<%$ ConnectionStrings:NorthWindConnectionString%>" 
          runat="server"/>
            
      </form>
  </body>
</html>

Comentários

A DataKey classe é usada para representar a chave primária para um registro em um controle associado a dados. A chave primária de um registro pode ser composta por mais um dos campos da fonte de dados. Embora a DataKey classe não seja uma coleção, ela pode armazenar vários valores de campo de chave. Os valores de campo de chave são preenchidos quando um dos construtores da DataKey classe é chamado. Você pode recuperar um valor de campo de chave de um DataKey objeto das seguintes maneiras:

  • Use a DataKey.Item[Int32] propriedade para recuperar um valor de campo de chave em um índice específico no DataKey objeto.

  • Use a DataKey.Item[String] propriedade para recuperar um valor de campo de chave de um campo específico.

  • Use a Value propriedade para recuperar o valor do campo de chave no índice 0 no DataKey objeto. Essa propriedade geralmente é usada como um atalho para recuperar o valor da chave de um registro quando a chave primária contém apenas um campo.

  • Use a Values propriedade para criar um IOrderedDictionary objeto que pode ser usado para iterar por meio dos valores de campo de chave.

Em geral, DataKey os objetos são gerados automaticamente por controles associados a dados quando a propriedade do DataKeyNames controle é definida. Os DataKey objetos contêm os valores do campo de chave ou campos especificados na DataKeyNames propriedade. Controles associados a dados que exibem um único registro de cada vez (como DetailsView ou FormView) geralmente armazenam o DataKey objeto para o registro atual exibido na DataKey propriedade do controle. Controles associados a dados que exibem vários registros de cada vez (como GridView) geralmente armazenam os DataKey objetos para cada registro no controle em uma DataKeyArray coleção. Em DataKeyArray seguida, a coleção é armazenada na DataKeys propriedade do controle.

Construtores

Nome Description
DataKey(IOrderedDictionary, String[])

Inicializa uma nova instância da DataKey classe usando o dicionário especificado de valores de campo de chave e matriz de nomes de campo.

DataKey(IOrderedDictionary)

Inicializa uma nova instância da DataKey classe usando o dicionário especificado de valores de campo de chave.

Propriedades

Nome Description
IsTrackingViewState

Obtém um valor que indica se o DataKey objeto está acompanhando suas alterações de estado de exibição.

Item[Int32]

Obtém o valor do campo de chave no índice especificado de um DataKey objeto.

Item[String]

Obtém o valor do campo de chave com o nome de campo especificado de um DataKey objeto.

Value

Obtém o valor do campo de chave no índice 0 no DataKey objeto.

Values

Obtém um IOrderedDictionary objeto que contém cada campo de chave no DataKey objeto.

Métodos

Nome Description
Equals(DataKey)

Determina se a matriz especificada DataKey é igual à chave de dados atual.

Equals(Object)

Determina se o objeto especificado é igual ao objeto atual.

(Herdado de Object)
GetHashCode()

Serve como a função de hash padrão.

(Herdado de Object)
GetType()

Obtém o Type da instância atual.

(Herdado de Object)
LoadViewState(Object)

Carrega o estado de exibição salvo anteriormente do DataKey objeto.

MemberwiseClone()

Cria uma cópia superficial do Objectatual.

(Herdado de Object)
SaveViewState()

Salva o estado de exibição atual do DataKey objeto.

ToString()

Retorna uma cadeia de caracteres que representa o objeto atual.

(Herdado de Object)
TrackViewState()

Marca o ponto de partida no qual começar a acompanhar e salvar alterações de estado de exibição no DataKey objeto.

Implantações explícitas de interface

Nome Description
IStateManager.IsTrackingViewState

Obtém um valor que indica se o DataKey objeto está acompanhando suas alterações de estado de exibição.

IStateManager.LoadViewState(Object)

Carrega o estado de exibição salvo anteriormente do DataKey objeto.

IStateManager.SaveViewState()

Salva o estado de exibição atual do DataKey objeto.

IStateManager.TrackViewState()

Marca o ponto de partida no qual começar a acompanhar e salvar alterações de estado de exibição no DataKey objeto.

Aplica-se a

Confira também