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


ObjectDataSourceEventArgs クラスは、OnObjectCreating メソッドおよび OnObjectCreated メソッドで使用され、ObjectDataSource コントロールおよびビジネス オブジェクトを使用してデータ操作を実行する前に、ビジネス オブジェクト インスタンスにアクセスできます。ビジネス オブジェクトの設定およびアクセスには、ObjectInstance プロパティを使用します。ObjectCreating イベントを処理するイベント ハンドラ デリゲートを追加すると、インスタンス化を実行するObjectDataSource の代わりに、カスタム コードでビジネス オブジェクトのインスタンスを作成できます。これは、ビジネス オブジェクトの既定以外のインスタンスが必要な場合、または既定以外のコンストラクタを呼び出してインスタンスを作成する場合に便利です。ObjectDataSource は、常に既定のコンストラクタを呼び出して、操作するビジネス オブジェクトのインスタンスを作成します。ObjectCreated イベントを処理するイベント ハンドラ デリゲートを追加することもできます。このイベントを使用すると、ビジネス オブジェクトのパブリックとして公開されたメンバにアクセスして、追加の初期化または作業を実行できます。
データ操作を実行するビジネス オブジェクト メソッドが static の場合、ObjectDataSource コントロールでは OnObjectCreating メソッドおよび OnObjectCreated メソッドは呼び出されません。
ObjectDataSource コントロールは、有効期間中、基になるビジネス オブジェクトを操作する際に利用できるイベントを数多く公開しています。イベント、および関連する EventArgs クラスとイベント ハンドラのデリゲートの一覧を次の表に示します。
EventArgs | ||
---|---|---|
ObjectCreating. | ObjectDataSourceEventArgs | ObjectDataSourceObjectEventHandler |
ObjectCreated. | ObjectDataSourceEventArgs | ObjectDataSourceObjectEventHandler |
Selecting. | ObjectDataSourceSelectingEventArgs | ObjectDataSourceSelectingEventHandler |
Inserting、Updating、および Deleting。 | ObjectDataSourceMethodEventArgs | ObjectDataSourceMethodEventHandler |
Selected. | ObjectDataSourceStatusEventArgs | ObjectDataSourceStatusEventHandler |
ObjectDataSourceStatusEventArgs | ObjectDataSourceStatusEventHandler | |
ObjectDisposing. | ObjectDataSourceDisposingEventArgs | ObjectDataSourceDisposingEventHandler |

このセクションには、2 つのコード例が含まれています。ビジネス オブジェクトおよび GridView コントロールで、ObjectDataSource コントロールを使用して情報を取得および表示する方法を最初のコード例に示します。最初のコード例が使用する基本的なビジネス オブジェクトの例を 2 番目のコード例に示します。
ビジネス オブジェクトおよび GridView コントロールで、ObjectDataSource コントロールを使用して情報を取得および表示する方法を次のコード例に示します。この例では、現実世界の状況と同じように、ObjectDataSource コントロールでビジネス オブジェクトの既定のインスタンスを使用することができず、不適切である場合があります。この例では、ObjectDataSource は例外をスローするため、既定のコンストラクタを正常に呼び出すことができません。既定のコンストラクタが保護される場合もあれば、既定のコンストラクタではビジネス オブジェクトが目的の状態に初期化されない場合もあります。原因が何でも、ビジネス オブジェクトのインスタンスを自分で作成して、ハンドラに渡される ObjectDataSourceEventArgs オブジェクトの ObjectInstance プロパティにそのインスタンスを設定できます。これは、ObjectDataSource が作業の実行に使用するビジネス オブジェクト インスタンスです。
<%@ Import namespace="Samples.AspNet.VB" %> <%@ Page language="vb" %> <Script runat="server"> Private Sub NorthwindLogicCreating(sender As Object, e As ObjectDataSourceEventArgs) ' Create an instance of the business object using a non-default constructor. Dim eLogic As EmployeeLogic = New EmployeeLogic("Not created by the default constructor!") ' Set the ObjectInstance property so that the ObjectDataSource uses the created instance. e.ObjectInstance = eLogic End Sub ' NorthwindLogicCreating </Script> <html> <head> <title>ObjectDataSource - VB Example</title> </head> <body> <form id="Form1" method="post" runat="server"> <asp:gridview id="GridView1" runat="server" datasourceid="ObjectDataSource1"> </asp:gridview> <asp:objectdatasource id="ObjectDataSource1" runat="server" selectmethod="GetAllEmployees" onobjectcreating="NorthwindLogicCreating" typename="Samples.AspNet.VB.EmployeeLogic" > </asp:objectdatasource> </form> </body> </html>
<%@ Import namespace="Samples.AspNet.CS" %> <%@ Page language="c#" %> <Script runat="server"> private void NorthwindLogicCreating(object sender, ObjectDataSourceEventArgs e) { // Create an instance of the business object using a non-default constructor. EmployeeLogic eLogic = new EmployeeLogic("Not created by the default constructor!"); // Set the ObjectInstance property so that the ObjectDataSource uses the created instance. e.ObjectInstance = eLogic; } </Script> <html> <head> <title>ObjectDataSource - C# Example</title> </head> <body> <form id="Form1" method="post" runat="server"> <asp:gridview id="GridView1" runat="server" datasourceid="ObjectDataSource1"> </asp:gridview> <asp:objectdatasource id="ObjectDataSource1" runat="server" selectmethod="GetAllEmployees" onobjectcreating="NorthwindLogicCreating" typename="Samples.AspNet.CS.EmployeeLogic" > </asp:objectdatasource> </form> </body> </html>
前のコード例が使用する基本的なビジネス オブジェクトの例を次のコード例に示します。
Imports System Imports System.Collections Imports System.Web.UI Imports System.Web.UI.WebControls Namespace Samples.AspNet.VB Public Class EmployeeLogic Public Sub New() Throw New NotSupportedException("Initialize data.") End Sub 'New Public Sub New(ByVal data As String) _data = data End Sub 'New Private _data As String ' Returns a collection of NorthwindEmployee objects. Public Function GetAllEmployees() As ICollection Dim al As New ArrayList() al.Add(_data) Return al End Function 'GetAllEmployees End Class 'EmployeeLogic End Namespace ' Samples.AspNet.VB
namespace Samples.AspNet.CS { using System; using System.Collections; using System.Web.UI; using System.Web.UI.WebControls; public class EmployeeLogic { public EmployeeLogic() { throw new NotSupportedException("Initialize data."); } public EmployeeLogic(string data) { _data = data; } private string _data; // Returns a collection of NorthwindEmployee objects. public ICollection GetAllEmployees () { ArrayList al = new ArrayList(); al.Add(_data); return al; } } }


System.EventArgs
System.Web.UI.WebControls.ObjectDataSourceEventArgs


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 によってサポートされていないバージョンがあります。サポートされているバージョンについては、「システム要件」を参照してください。


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

- objectInstance
データ操作を実行するために、ObjectDataSource が対話するビジネス オブジェクト。

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 によってサポートされていないバージョンがあります。サポートされているバージョンについては、「システム要件」を参照してください。


ObjectDataSourceEventArgs プロパティ
ObjectDataSourceEventArgs メソッド

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

名前 | 説明 | |
---|---|---|
![]() | Finalize | Object がガベージ コレクションにより収集される前に、その Object がリソースを解放し、その他のクリーンアップ操作を実行できるようにします。 ( Object から継承されます。) |
![]() | MemberwiseClone | 現在の Object の簡易コピーを作成します。 ( Object から継承されます。) |

ObjectDataSourceEventArgs メンバ
ObjectDataSource コントロールの ObjectCreating イベントおよび ObjectCreated イベントのデータを提供します。
ObjectDataSourceEventArgs データ型で公開されるメンバを以下の表に示します。



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

名前 | 説明 | |
---|---|---|
![]() | Finalize | Object がガベージ コレクションにより収集される前に、その Object がリソースを解放し、その他のクリーンアップ操作を実行できるようにします。 (Object から継承されます。) |
![]() | MemberwiseClone | 現在の Object の簡易コピーを作成します。 (Object から継承されます。) |

- ObjectDataSourceEventArgsのページへのリンク