Condividi tramite


DataKey Classe

Definizione

Rappresenta il campo o i campi chiave primaria di un record in un controllo associato a dati.

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
Ereditarietà
DataKey
Implementazioni

Esempio

Nell'esempio di codice seguente viene illustrato come determinare il valore della chiave primaria di un record in un DetailsView controllo utilizzando la Value proprietà di un DataKey oggetto .


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

Commenti

La DataKey classe viene utilizzata per rappresentare la chiave primaria per un record in un controllo associato a dati. La chiave primaria per un record può essere composta da uno di più campi dall'origine dati. Anche se la DataKey classe non è una raccolta, può archiviare più valori di campo chiave. I valori dei campi chiave vengono popolati quando viene chiamato uno dei costruttori per la DataKey classe . È possibile recuperare un valore di campo chiave da un DataKey oggetto nei modi seguenti:

  • Utilizzare la DataKey.Item[Int32] proprietà per recuperare un valore di campo chiave in corrispondenza di un indice specifico nell'oggetto DataKey .

  • Utilizzare la DataKey.Item[String] proprietà per recuperare un valore di campo chiave di un campo specifico.

  • Utilizzare la Value proprietà per recuperare il valore del campo chiave in corrispondenza dell'indice 0 nell'oggetto DataKey . Questa proprietà viene spesso utilizzata come collegamento per recuperare il valore della chiave di un record quando la chiave primaria contiene un solo campo.

  • Utilizzare la Values proprietà per creare un IOrderedDictionary oggetto che può essere usato per scorrere i valori dei campi chiave.

In generale, DataKey gli oggetti vengono generati automaticamente dai controlli associati a dati quando viene impostata la proprietà del DataKeyNames controllo. Gli DataKey oggetti contengono i valori del campo chiave o dei campi specificati nella DataKeyNames proprietà . I controlli associati a dati che visualizzano un singolo record alla volta ,ad esempio DetailsView o FormView, in genere archiviano l'oggetto DataKey per il record corrente visualizzato nella DataKey proprietà del controllo . I controlli associati a dati che visualizzano più record alla volta ,ad esempio GridView, in genere archiviano gli DataKey oggetti per ogni record nel controllo in una DataKeyArray raccolta. La DataKeyArray raccolta viene quindi archiviata nella DataKeys proprietà del controllo .

Costruttori

Nome Descrizione
DataKey(IOrderedDictionary, String[])

Inizializza una nuova istanza della DataKey classe utilizzando il dizionario specificato di valori di campo chiave e matrice di nomi di campo.

DataKey(IOrderedDictionary)

Inizializza una nuova istanza della DataKey classe utilizzando il dizionario specificato dei valori dei campi chiave.

Proprietà

Nome Descrizione
IsTrackingViewState

Ottiene un valore che indica se l'oggetto DataKey sta monitorando le modifiche apportate allo stato di visualizzazione.

Item[Int32]

Ottiene il valore del campo chiave in corrispondenza dell'indice specificato da un DataKey oggetto .

Item[String]

Ottiene il valore del campo chiave con il nome del campo specificato da un DataKey oggetto .

Value

Ottiene il valore del campo chiave in corrispondenza dell'indice 0 nell'oggetto DataKey .

Values

Ottiene un IOrderedDictionary oggetto che contiene ogni campo chiave nell'oggetto DataKey .

Metodi

Nome Descrizione
Equals(DataKey)

Determina se la matrice specificata DataKey è uguale alla chiave dati corrente.

Equals(Object)

Determina se l'oggetto specificato è uguale all'oggetto corrente.

(Ereditato da Object)
GetHashCode()

Funge da funzione hash predefinita.

(Ereditato da Object)
GetType()

Ottiene l'oggetto Type dell'istanza corrente.

(Ereditato da Object)
LoadViewState(Object)

Carica lo stato di visualizzazione salvato in precedenza dell'oggetto DataKey .

MemberwiseClone()

Crea una copia superficiale dell'oggetto corrente Object.

(Ereditato da Object)
SaveViewState()

Salva lo stato di visualizzazione corrente dell'oggetto DataKey .

ToString()

Restituisce una stringa che rappresenta l'oggetto corrente.

(Ereditato da Object)
TrackViewState()

Contrassegna il punto iniziale in cui iniziare a tenere traccia e salvare le modifiche dello stato di visualizzazione all'oggetto DataKey .

Implementazioni dell'interfaccia esplicita

Nome Descrizione
IStateManager.IsTrackingViewState

Ottiene un valore che indica se l'oggetto DataKey sta monitorando le modifiche apportate allo stato di visualizzazione.

IStateManager.LoadViewState(Object)

Carica lo stato di visualizzazione salvato in precedenza dell'oggetto DataKey .

IStateManager.SaveViewState()

Salva lo stato di visualizzazione corrente dell'oggetto DataKey .

IStateManager.TrackViewState()

Contrassegna il punto iniziale in cui iniziare a tenere traccia e salvare le modifiche dello stato di visualizzazione all'oggetto DataKey .

Si applica a

Vedi anche