DataKey クラス
アセンブリ: System.Web (system.web.dll 内)


DataKey クラスは、データ バインド コントロール内のレコードの主キーを表すために使用されます。レコードの主キーは、データ ソースの 1 つ以上のフィールドで構成できます。DataKey クラスはコレクションではありませんが、キー フィールドの値を複数格納できます。DataKey クラスのコンストラクタの 1 つが呼び出されると、キー フィールドの値が代入されます。DataKey オブジェクトからキー フィールドの値を取得する方法は、次のとおりです。
-
DataKey.Item(Int32) プロパティを使用して、DataKey オブジェクト内の特定のインデックス位置にあるキー フィールドの値を取得します。
-
Value プロパティを使用して、DataKey オブジェクト内のインデックス 0 にあるキー フィールドの値を取得します。このプロパティは、主キーにフィールドが 1 つしかない場合に、レコードのキー値を取得するためのショートカットとして使用されます。
-
Values プロパティを使用して、キー フィールドの値を反復処理するために使用できる IOrderedDictionary オブジェクトを作成します。
通常、DataKey オブジェクトは、データ バインド コントロールの DataKeyNames プロパティが設定されている場合にそのコントロールによって自動生成されます。DataKey オブジェクトには、DataKeyNames プロパティ内で指定された 1 つ以上のキー フィールドの値が格納されます。一度に 1 つのレコードだけを表示するデータ バインド コントロール (DetailsView または FormView など) には、通常、そのコントロールの DataKey プロパティ内に現在表示されているレコードの DataKey オブジェクトが格納されます。一度に複数のレコードを表示するデータ バインド コントロール (GridView など) には、通常、DataKeyArray コレクション内にあるこのコントロールの各レコードの DataKey オブジェクトが格納されます。その後、DataKeyArray コレクションがコントロールの DataKeys プロパティに格納されます。

DataKey オブジェクトの Value プロパティを使用して DetailsView コントロール内のレコードの主キーの値を確認するコード例を次に示します。
<%@ Page language="VB" %> <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 the value of the key field. MessageLabel.Text = "The key field value for the displayed record is " & _ key.Value.ToString() & "." End Sub </script> <html> <body> <form 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>
<%@ Page language="C#" %> <script runat="server"> void CustomerDetailsView_DataBound(Object sender, EventArgs e) { // Get the DataKey object for the current record. DataKey key = CustomerDetailsView.DataKey; // Display the the value of the key field. MessageLabel.Text = "The key field value for the displayed record is " + key.Value.ToString() + "."; } </script> <html> <body> <form 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>


System.Web.UI.WebControls.DataKey


Windows 98, Windows 2000 SP4, Windows Server 2003, Windows XP Media Center Edition, Windows XP Professional x64 Edition, Windows XP SP2, Windows XP Starter Edition
開発プラットフォームの中には、.NET Framework によってサポートされていないバージョンがあります。サポートされているバージョンについては、「システム要件」を参照してください。


DataKey コンストラクタ (IOrderedDictionary, String[])
アセンブリ: System.Web (system.web.dll 内)

Dim keyTable As IOrderedDictionary Dim keyNames As String() Dim instance As New DataKey(keyTable, keyNames)

このコンストラクタを使用し、キー フィールドの値のディクショナリとフィールド名の配列を指定して DataKey クラスの新しいインスタンスを作成します。keyTable パラメータについて渡される IOrderedDictionary オブジェクトに格納されているフィールド値は、DataKey オブジェクトに代入されます。このコンストラクタでは、keyNames パラメータを使用して、DataKey オブジェクトのキー フィールド名リストをあらかじめ指定することもできます。その場合、フィールド名があらかじめ指定されているので、このコンストラクタが使用されるときだけにキー フィールドの値がビューステートに格納されます。

Windows 98, Windows 2000 SP4, Windows Server 2003, Windows XP Media Center Edition, Windows XP Professional x64 Edition, Windows XP SP2, Windows XP Starter Edition
開発プラットフォームの中には、.NET Framework によってサポートされていないバージョンがあります。サポートされているバージョンについては、「システム要件」を参照してください。


DataKey コンストラクタ

名前 | 説明 |
---|---|
DataKey (IOrderedDictionary) | キー フィールドの値のディクショナリを指定して、DataKey クラスの新しいインスタンスを初期化します。 |
DataKey (IOrderedDictionary, String[]) | キー フィールドの値のディクショナリとフィールド名の配列を指定して、DataKey クラスの新しいインスタンスを初期化します。 |

DataKey コンストラクタ (IOrderedDictionary)
アセンブリ: System.Web (system.web.dll 内)


このコンストラクタを使用し、キー フィールドの値のディクショナリを指定して DataKey クラスの新しいインスタンスを作成します。keyTable パラメータについて渡される IOrderedDictionary オブジェクトに格納されているフィールド値は、DataKey オブジェクトに代入されます。
![]() |
---|
このバージョンのコンストラクタでは、DataKey オブジェクトのフィールド名リストをあらかじめ指定できません。フィールド名があらかじめ指定されていないため、フィールドの名前と値の両方がビューステートに格納されます。フィールド名のリストをあらかじめ指定するには、DataKey(IOrderedDictionary,String[]) コンストラクタを使用します。 |

Windows 98, Windows 2000 SP4, Windows Server 2003, Windows XP Media Center Edition, Windows XP Professional x64 Edition, Windows XP SP2, Windows XP Starter Edition
開発プラットフォームの中には、.NET Framework によってサポートされていないバージョンがあります。サポートされているバージョンについては、「システム要件」を参照してください。


DataKey プロパティ

名前 | 説明 | |
---|---|---|
![]() | Item | オーバーロードされます。 DataKey オブジェクトからキー フィールドの値を取得します。 |
![]() | Value | DataKey オブジェクト内のインデックス 0 にあるキー フィールドの値を取得します。 |
![]() | Values | DataKey オブジェクト内のすべてのキー フィールドに格納されている IOrderedDictionary オブジェクトを取得します。 |


名前 | 説明 | |
---|---|---|
![]() | System.Web.UI.IStateManager.IsTrackingViewState | DataKey オブジェクトがビューステートの変更を追跡しているかどうかを示す値を取得します。 |

DataKey メソッド

名前 | 説明 | |
---|---|---|
![]() | Equals | オーバーロードされます。 2 つの Object インスタンスが等しいかどうかを判断します。 ( Object から継承されます。) |
![]() | GetHashCode | 特定の型のハッシュ関数として機能します。GetHashCode は、ハッシュ アルゴリズムや、ハッシュ テーブルのようなデータ構造での使用に適しています。 ( Object から継承されます。) |
![]() | GetType | 現在のインスタンスの Type を取得します。 ( Object から継承されます。) |
![]() | ReferenceEquals | 指定した複数の Object インスタンスが同一かどうかを判断します。 ( Object から継承されます。) |
![]() | ToString | 現在の Object を表す String を返します。 ( Object から継承されます。) |

名前 | 説明 | |
---|---|---|
![]() | Finalize | Object がガベージ コレクションにより収集される前に、その Object がリソースを解放し、その他のクリーンアップ操作を実行できるようにします。 ( Object から継承されます。) |
![]() | LoadViewState | 以前に保存した DataKey オブジェクトのビューステートを読み込みます。 |
![]() | MemberwiseClone | 現在の Object の簡易コピーを作成します。 ( Object から継承されます。) |
![]() | SaveViewState | DataKey オブジェクトの現在のビューステートを保存します。 |
![]() | TrackViewState | DataKey オブジェクトに対するビューステートの変更の追跡と保存を始める開始点にマークを付けます。 |

名前 | 説明 | |
---|---|---|
![]() | System.Web.UI.IStateManager.LoadViewState | 以前に保存した DataKey オブジェクトのビューステートを読み込みます。 |
![]() | System.Web.UI.IStateManager.SaveViewState | DataKey オブジェクトの現在のビューステートを保存します。 |
![]() | System.Web.UI.IStateManager.TrackViewState | DataKey オブジェクトに対するビューステートの変更の追跡と保存を始める開始点にマークを付けます。 |

DataKey メンバ
データ バインド コントロール内のレコードの 1 つまたは複数の主キー フィールドを表します。
DataKey データ型で公開されるメンバを以下の表に示します。


名前 | 説明 | |
---|---|---|
![]() | Item | オーバーロードされます。 DataKey オブジェクトからキー フィールドの値を取得します。 |
![]() | Value | DataKey オブジェクト内のインデックス 0 にあるキー フィールドの値を取得します。 |
![]() | Values | DataKey オブジェクト内のすべてのキー フィールドに格納されている IOrderedDictionary オブジェクトを取得します。 |


名前 | 説明 | |
---|---|---|
![]() | Equals | オーバーロードされます。 2 つの Object インスタンスが等しいかどうかを判断します。 (Object から継承されます。) |
![]() | GetHashCode | 特定の型のハッシュ関数として機能します。GetHashCode は、ハッシュ アルゴリズムや、ハッシュ テーブルのようなデータ構造での使用に適しています。 (Object から継承されます。) |
![]() | GetType | 現在のインスタンスの Type を取得します。 (Object から継承されます。) |
![]() | ReferenceEquals | 指定した複数の Object インスタンスが同一かどうかを判断します。 (Object から継承されます。) |
![]() | ToString | 現在の Object を表す String を返します。 (Object から継承されます。) |

名前 | 説明 | |
---|---|---|
![]() | Finalize | Object がガベージ コレクションにより収集される前に、その Object がリソースを解放し、その他のクリーンアップ操作を実行できるようにします。 (Object から継承されます。) |
![]() | LoadViewState | 以前に保存した DataKey オブジェクトのビューステートを読み込みます。 |
![]() | MemberwiseClone | 現在の Object の簡易コピーを作成します。 (Object から継承されます。) |
![]() | SaveViewState | DataKey オブジェクトの現在のビューステートを保存します。 |
![]() | TrackViewState | DataKey オブジェクトに対するビューステートの変更の追跡と保存を始める開始点にマークを付けます。 |

名前 | 説明 | |
---|---|---|
![]() | System.Web.UI.IStateManager.LoadViewState | 以前に保存した DataKey オブジェクトのビューステートを読み込みます。 |
![]() | System.Web.UI.IStateManager.SaveViewState | DataKey オブジェクトの現在のビューステートを保存します。 |
![]() | System.Web.UI.IStateManager.TrackViewState | DataKey オブジェクトに対するビューステートの変更の追跡と保存を始める開始点にマークを付けます。 |
![]() | System.Web.UI.IStateManager.IsTrackingViewState | DataKey オブジェクトがビューステートの変更を追跡しているかどうかを示す値を取得します。 |

- DataKeyのページへのリンク