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 usata 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 o dei campi chiave 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

DataKey(IOrderedDictionary)

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

DataKey(IOrderedDictionary, String[])

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

Proprietà

IsTrackingViewState

Ottiene un valore che indica se l'oggetto DataKey tiene traccia delle modifiche apportate al relativo stato di visualizzazione.

Item[Int32]

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

Item[String]

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

Value

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

Values

Ottiene un oggetto IOrderedDictionary che contiene tutti i campi di chiave presenti nell'oggetto DataKey.

Metodi

Equals(DataKey)

Determina se la matrice DataKey specificata corrisponde alla chiave di 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)

Consente di caricare lo stato di visualizzazione dell'oggetto DataKey precedentemente salvato.

MemberwiseClone()

Crea una copia superficiale dell'oggetto Object corrente.

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

Viene contrassegnato il punto iniziale per la registrazione e il salvataggio delle modifiche dello stato di visualizzazione nell'oggetto DataKey.

Implementazioni dell'interfaccia esplicita

IStateManager.IsTrackingViewState

Ottiene un valore che indica se l'oggetto DataKey tiene traccia delle modifiche apportate al relativo stato di visualizzazione.

IStateManager.LoadViewState(Object)

Consente di caricare lo stato di visualizzazione dell'oggetto DataKey precedentemente salvato.

IStateManager.SaveViewState()

Salva lo stato di visualizzazione corrente dell'oggetto DataKey.

IStateManager.TrackViewState()

Viene contrassegnato il punto iniziale per la registrazione e il salvataggio delle modifiche dello stato di visualizzazione nell'oggetto DataKey.

Si applica a

Vedi anche