ObjectDataSourceEventArgsとは? わかりやすく解説

ObjectDataSourceEventArgs クラス

メモ : このクラスは、.NET Framework version 2.0 で新しく追加されたものです。

ObjectDataSource コントロールの ObjectCreating イベントおよび ObjectCreated イベントのデータを提供します。

名前空間: System.Web.UI.WebControls
アセンブリ: System.Web (system.web.dll 内)
構文構文

Public Class ObjectDataSourceEventArgs
    Inherits EventArgs
Dim instance As ObjectDataSourceEventArgs
public class ObjectDataSourceEventArgs : EventArgs
public ref class ObjectDataSourceEventArgs
 : public EventArgs
public class ObjectDataSourceEventArgs extends
 EventArgs
public class ObjectDataSourceEventArgs extends
 EventArgs
解説解説

ObjectDataSourceEventArgs クラスは、OnObjectCreating メソッドおよび OnObjectCreated メソッドで使用され、ObjectDataSource コントロールおよびビジネス オブジェクトを使用してデータ操作を実行する前に、ビジネス オブジェクト インスタンスにアクセスできます。ビジネス オブジェクトの設定およびアクセスには、ObjectInstance プロパティを使用します。ObjectCreating イベントを処理するイベント ハンドラ デリゲートを追加すると、インスタンス化を実行するObjectDataSource の代わりに、カスタム コードでビジネス オブジェクトのインスタンスを作成できます。これは、ビジネス オブジェクトの既定以外のインスタンスが必要な場合、または既定以外のコンストラクタを呼び出してインスタンスを作成する場合に便利です。ObjectDataSource は、常に既定のコンストラクタを呼び出して、操作するビジネス オブジェクトのインスタンスを作成します。ObjectCreated イベントを処理するイベント ハンドラ デリゲートを追加することもできます。このイベントを使用すると、ビジネス オブジェクトのパブリックとして公開されたメンバにアクセスして、追加の初期化または作業を実行できます。

データ操作を実行するビジネス オブジェクト メソッドが static の場合、ObjectDataSource コントロールでは OnObjectCreating メソッドおよび OnObjectCreated メソッドは呼び出されません。

ObjectDataSource コントロールは、有効期間中、基になるビジネス オブジェクトを操作する際に利用できるイベントを数多く公開しています。イベント、および関連する EventArgs クラスとイベント ハンドラのデリゲートの一覧を次の表に示します。

イベント

EventArgs

EventHandler

ObjectCreating.

ビジネス オブジェクトのインスタンスが作成される直前に発生します。

ObjectDataSourceEventArgs

ObjectDataSourceObjectEventHandler

ObjectCreated.

ビジネス オブジェクトのインスタンスが作成された直後に発生します。

ObjectDataSourceEventArgs

ObjectDataSourceObjectEventHandler

Selecting.

データが取得される前に発生します。

ObjectDataSourceSelectingEventArgs

ObjectDataSourceSelectingEventHandler

Inserting、Updating、および Deleting。

挿入、更新、削除のいずれかの操作が実行される前に発生します。

ObjectDataSourceMethodEventArgs

ObjectDataSourceMethodEventHandler

Selected.

データが取得された後で発生します。

ObjectDataSourceStatusEventArgs

ObjectDataSourceStatusEventHandler

Inserted、Updated、Deleted。

挿入、更新、削除のいずれかの操作が完了した後で発生します。

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;
    }
    
  }

}
.NET Framework のセキュリティ.NET Framework のセキュリティ
継承階層継承階層
System.Object
   System.EventArgs
    System.Web.UI.WebControls.ObjectDataSourceEventArgs
スレッド セーフスレッド セーフ
この型の public static (Visual Basic では Shared) メンバはすべて、スレッド セーフです。インスタンス メンバの場合は、スレッド セーフであるとは限りません。
プラットフォームプラットフォーム
バージョン情報バージョン情報
参照参照
関連項目
ObjectDataSourceEventArgs メンバ
System.Web.UI.WebControls 名前空間
ObjectDataSourceObjectEventHandler

ObjectDataSourceEventArgs コンストラクタ

メモ : このコンストラクタは、.NET Framework version 2.0 で新しく追加されたものです。

オブジェクトを指定して、ObjectDataSourceEventArgs クラスの新しいインスタンスを初期化します。

名前空間: System.Web.UI.WebControls
アセンブリ: System.Web (system.web.dll 内)
構文構文

Public Sub New ( _
    objectInstance As Object _
)
Dim objectInstance As Object

Dim instance As New ObjectDataSourceEventArgs(objectInstance)
public ObjectDataSourceEventArgs (
    Object objectInstance
)
public:
ObjectDataSourceEventArgs (
    Object^ objectInstance
)
public ObjectDataSourceEventArgs (
    Object objectInstance
)
public function ObjectDataSourceEventArgs (
    objectInstance : Object
)

パラメータ

objectInstance

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

プラットフォームプラットフォーム
バージョン情報バージョン情報
参照参照
関連項目
ObjectDataSourceEventArgs クラス
ObjectDataSourceEventArgs メンバ
System.Web.UI.WebControls 名前空間
ObjectDataSourceEventArgs クラス

ObjectDataSourceEventArgs プロパティ


パブリック プロパティパブリック プロパティ

参照参照

関連項目

ObjectDataSourceEventArgs クラス
System.Web.UI.WebControls 名前空間
ObjectDataSourceObjectEventHandler

ObjectDataSourceEventArgs メソッド


ObjectDataSourceEventArgs メンバ

ObjectDataSource コントロールの ObjectCreating イベントおよび ObjectCreated イベントのデータを提供します。

ObjectDataSourceEventArgs データ型で公開されるメンバを以下の表に示します。


パブリック コンストラクタパブリック コンストラクタ
  名前 説明
パブリック メソッド ObjectDataSourceEventArgs オブジェクトを指定して、ObjectDataSourceEventArgs クラスの新しいインスタンスを初期化します。
パブリック プロパティパブリック プロパティ
パブリック メソッドパブリック メソッド
プロテクト メソッドプロテクト メソッド
参照参照

関連項目

ObjectDataSourceEventArgs クラス
System.Web.UI.WebControls 名前空間
ObjectDataSourceObjectEventHandler



英和和英テキスト翻訳

英語⇒日本語日本語⇒英語

辞書ショートカット

すべての辞書の索引

「ObjectDataSourceEventArgs」の関連用語

ObjectDataSourceEventArgsのお隣キーワード
検索ランキング

   

英語⇒日本語
日本語⇒英語
   



ObjectDataSourceEventArgsのページの著作権

   
日本マイクロソフト株式会社日本マイクロソフト株式会社
© 2026 Microsoft.All rights reserved.

©2026 GRAS Group, Inc.RSS