DataKey Classe

Definição

Representa o(s) campo(s) de chave(s) primário(s) de um registo num controlo data-bound.

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 seguinte exemplo de código demonstra como determinar o valor primário da chave de um registo num DetailsView controlo 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>

Observações

A DataKey classe é usada para representar a chave primária de um registo num controlo ligado a dados. A chave primária para um registo pode ser composta por um ou mais campos da fonte de dados. Embora a DataKey classe não seja uma coleção, pode armazenar múltiplos valores de campo-chave. Os valores-chave do campo são preenchidos quando um dos construtores da DataKey classe é chamado. Pode recuperar o valor de um campo chave de um DataKey objeto das seguintes formas:

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

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

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

  • Use a Values propriedade para criar um IOrderedDictionary objeto que possa ser usado para iterar pelos valores-chave dos campos.

Em geral, DataKey os objetos são automaticamente gerados por controlos vinculados a dados quando a propriedade do DataKeyNames controlo é definida. Os DataKey objetos contêm os valores do campo ou campos chave especificados na DataKeyNames propriedade. Os controlos ligados a dados que exibem um único registo de cada vez (como DetailsView ou FormView) geralmente armazenam o DataKey objeto do registo atual exibido na DataKey propriedade do controlo. Os controlos encadernados por dados que exibem múltiplos registos ao mesmo tempo (como GridView) geralmente armazenam os DataKey objetos de cada registo no controlo de uma DataKeyArray coleção. A DataKeyArray coleção é então armazenada na DataKeys propriedade do controlo.

Construtores

Name Description
DataKey(IOrderedDictionary, String[])

Inicializa uma nova instância da DataKey classe usando o dicionário especificado de valores-chave dos campos e o array dos nomes dos campos.

DataKey(IOrderedDictionary)

Inicializa uma nova instância da DataKey classe usando o dicionário especificado dos valores-chave dos campos.

Propriedades

Name Description
IsTrackingViewState

Obtém um valor que indica se o DataKey objeto está a acompanhar as suas alterações de estado de visualização.

Item[Int32]

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

Item[String]

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

Value

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

Values

Obtém um IOrderedDictionary objeto que contém todos os campos-chave do DataKey objeto.

Métodos

Name Description
Equals(DataKey)

Determina se o array especificado DataKey é igual à chave de dados atual.

Equals(Object)

Determina se o objeto especificado é igual ao objeto atual.

(Herdado de Object)
GetHashCode()

Serve como função de hash predefinida.

(Herdado de Object)
GetType()

Obtém o Type da instância atual.

(Herdado de Object)
LoadViewState(Object)

Carrega o estado de visualização previamente guardado do DataKey objeto.

MemberwiseClone()

Cria uma cópia superficial do atual Object.

(Herdado de Object)
SaveViewState()

Guarda o estado atual da vista do DataKey objeto.

ToString()

Devolve uma cadeia que representa o objeto atual.

(Herdado de Object)
TrackViewState()

Marca o ponto de partida a partir do qual se deve começar a registar e guardar as alterações de estado de visualização do DataKey objeto.

Implementações de Interface Explícita

Name Description
IStateManager.IsTrackingViewState

Obtém um valor que indica se o DataKey objeto está a acompanhar as suas alterações de estado de visualização.

IStateManager.LoadViewState(Object)

Carrega o estado de visualização previamente guardado do DataKey objeto.

IStateManager.SaveViewState()

Guarda o estado atual da vista do DataKey objeto.

IStateManager.TrackViewState()

Marca o ponto de partida a partir do qual se deve começar a registar e guardar as alterações de estado de visualização do DataKey objeto.

Aplica-se a

Ver também