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


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
Реализации

Примеры

В следующем примере кода показано, как определить значение первичного ключа записи в элементе DetailsView управления с помощью Value свойства 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, String[])

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

DataKey(IOrderedDictionary)

Инициализирует новый экземпляр 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 .

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

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