Поделиться через


DataKey Класс

Определение

Представляет поле или поля первичного ключа записи в элементе управления с привязкой к данным.

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
Наследование
DataKey
Реализации

Примеры

В следующем примере кода показано, как определить значение первичного ключа записи в элементе DetailsViewValue управления с помощью свойства DataKey объекта .


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

Комментарии

Класс DataKey используется для представления первичного ключа записи в элементе управления с привязкой к данным. Первичный ключ для записи может состоять из одного из нескольких полей из источника данных. DataKey Хотя класс не является коллекцией, он может хранить несколько значений ключевых полей. Значения ключевого поля заполняются при вызове одного из конструкторов для DataKey класса . Получить значение ключевого поля из DataKey объекта можно следующими способами:

  • Используйте свойство , DataKey.Item[Int32] чтобы получить значение ключевого поля по определенному индексу в объекте DataKey .

  • Используйте свойство , DataKey.Item[String] чтобы получить значение ключевого поля определенного поля.

  • Используйте свойство , Value чтобы получить значение ключевого поля по индексу 0 в объекте DataKey . Это свойство часто используется в качестве ярлыка для получения значения ключа записи, если первичный ключ содержит только одно поле.

  • Используйте свойство , Values чтобы создать IOrderedDictionary объект, который можно использовать для итерации значений ключевого поля.

Как правило, DataKey объекты автоматически создаются элементами управления с привязкой к данным при установке свойства элемента управления DataKeyNames . Объекты DataKey содержат значения ключевого поля или полей, указанных в свойстве DataKeyNames . Элементы управления с привязкой к данным, отображающие одну запись за раз (например DetailsView , или FormView), обычно хранят DataKey объект для текущей записи, отображаемой в DataKey свойстве элемента управления . Элементы управления с привязкой к данным, отображающие несколько записей за раз (например, GridView), обычно хранят DataKey объекты для каждой записи в элементе управления в DataKeyArray коллекции. Затем DataKeyArray коллекция сохраняется в свойстве DataKeys элемента управления .

Конструкторы

DataKey(IOrderedDictionary)

Инициализирует новый экземпляр класса DataKey, используя указанные значения словаря ключевого поля.

DataKey(IOrderedDictionary, String[])

Инициализирует новый экземпляр класса DataKey, используя указанные значения словаря ключевого поля и массива имен полей.

Свойства

IsTrackingViewState

Получает значение, указывающее, отслеживает ли объект DataKey изменения в данных о своем состоянии представления.

Item[Int32]

Возвращает значение ключевого поля с указанным индексом из объекта DataKey.

Item[String]

Возвращает значение ключевого поля с указанным именем поля из объекта DataKey.

Value

Получает значение ключевого поля с индексом 0 в объекте DataKey.

Values

Получает объект IOrderedDictionary, содержащий значение каждого ключевого в объекте DataKey.

Методы

Equals(DataKey)

Определяет, равен ли заданный массив объектов DataKey текущему ключу данных.

Equals(Object)

Определяет, равен ли указанный объект текущему объекту.

(Унаследовано от Object)
GetHashCode()

Служит хэш-функцией по умолчанию.

(Унаследовано от Object)
GetType()

Возвращает объект Type для текущего экземпляра.

(Унаследовано от Object)
LoadViewState(Object)

Загружает сохраненное ранее состояние представления объекта DataKey.

MemberwiseClone()

Создает неполную копию текущего объекта Object.

(Унаследовано от Object)
SaveViewState()

Сохраняет текущее состояние просмотра объекта DataKey.

ToString()

Возвращает строку, представляющую текущий объект.

(Унаследовано от Object)
TrackViewState()

Отмечает точку отсчета, с которой начинает отслеживание и сохранение изменений в состоянии представления объекта DataKey.

Явные реализации интерфейса

IStateManager.IsTrackingViewState

Получает значение, указывающее, отслеживает ли объект DataKey изменения в данных о своем состоянии представления.

IStateManager.LoadViewState(Object)

Загружает сохраненное ранее состояние представления объекта DataKey.

IStateManager.SaveViewState()

Сохраняет текущее состояние просмотра объекта DataKey.

IStateManager.TrackViewState()

Отмечает точку отсчета, с которой начинает отслеживание и сохранение изменений в состоянии представления объекта DataKey.

Применяется к

См. также раздел