ObjectDataSourceEventArgs クラス
定義
重要
一部の情報は、リリース前に大きく変更される可能性があるプレリリースされた製品に関するものです。 Microsoft は、ここに記載されている情報について、明示または黙示を問わず、一切保証しません。
ObjectCreating コントロールの ObjectCreated イベントおよび ObjectDataSource イベントのデータを提供します。
public ref class ObjectDataSourceEventArgs : EventArgs
public class ObjectDataSourceEventArgs : EventArgs
type ObjectDataSourceEventArgs = class
inherit EventArgs
Public Class ObjectDataSourceEventArgs
Inherits EventArgs
- 継承
例
このセクションには、2 つのコード例が含まれています。 最初のコード例では、ビジネス オブジェクトとコントロールでコントロールを ObjectDataSource 使用して情報を GridView 取得および表示する方法を示します。 2 番目のコード例では、最初のコード例で使用する基本的なビジネス オブジェクトの例を示します。
次のコード例では、ビジネス オブジェクトとコントロールでコントロールを ObjectDataSource 使用して情報を GridView 取得および表示する方法を示します。 この例では、多くの実際のシナリオと同様に、 コントロールでビジネス オブジェクト ObjectDataSource の既定のインスタンスを使用することも適切でもない場合があります。 この例では、 ObjectDataSource は例外をスローするため、パラメーターなしのコンストラクターを正常に呼び出すことができません。 パラメーターなしのコンストラクターが保護されている場合もあれば、ビジネス オブジェクトを目的の状態に初期化しない場合もあります。 理由が何であれ、ビジネス オブジェクトのインスタンスを自分で作成し、そのインスタンスをハンドラーに ObjectInstance 渡されるオブジェクトの ObjectDataSourceEventArgs プロパティに設定できます。 これは、 がその ObjectDataSource 作業を実行するために使用するビジネス オブジェクト インスタンスです。
<%@ Import namespace="Samples.AspNet.CS" %>
<%@ 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">
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 xmlns="http://www.w3.org/1999/xhtml" >
<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>
<%@ Import namespace="Samples.AspNet.VB" %>
<%@ 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">
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 xmlns="http://www.w3.org/1999/xhtml" >
<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>
次のコード例は、前のコード例で使用する基本的なビジネス オブジェクトの例を示しています。
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;
}
}
}
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
Public Sub New(ByVal data As String)
_data = data
End Sub
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
End Namespace ' Samples.AspNet.VB
注釈
クラスは ObjectDataSourceEventArgs 、 メソッドと メソッドで OnObjectCreating 使用され、コントロールと OnObjectCreated ビジネス オブジェクトを使用 ObjectDataSource するデータ操作が実行される前にビジネス オブジェクト インスタンスへのアクセスを提供します。 ビジネス オブジェクトは、 プロパティを使用して ObjectInstance 設定され、アクセスされます。 イベントを処理するイベント ハンドラー デリゲートを ObjectCreating 追加することで、インスタンス化を実行する代わりに、カスタム コードでビジネス オブジェクトの ObjectDataSource インスタンスを作成できます。 これは、ビジネス オブジェクトの既定以外のインスタンスが必要な場合や、パラメーターなしのコンストラクターを呼び出してインスタンスを作成する場合に便利です。は ObjectDataSource 常にパラメーターなしのコンストラクターを呼び出して、操作するビジネス オブジェクトのインスタンスを作成します。 イベントを処理 ObjectCreated するイベント ハンドラー デリゲートを追加することもできます。これにより、ビジネス オブジェクトのパブリックに公開されているメンバーにアクセスして、追加の初期化または作業を実行できます。
OnObjectCreatingデータ操作を実行するビジネス オブジェクト メソッドが の場合、 メソッドと OnObjectCreated メソッドはstatic
コントロールによってObjectDataSource呼び出されません。
コントロールは ObjectDataSource 、基になるビジネス オブジェクトをライフサイクルのさまざまな時点で操作するために処理できる多くのイベントを公開します。 次の表に、イベントと、関連 EventArgs するクラスとイベント ハンドラー デリゲートの一覧を示します。
Event | 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 |
コンストラクター
ObjectDataSourceEventArgs(Object) |
指定されたオブジェクトを使用して、ObjectDataSourceEventArgs クラスの新しいインスタンスを初期化します。 |
プロパティ
ObjectInstance |
ObjectDataSource コントロールがデータ操作を実行するビジネス オブジェクトを表すオブジェクトを取得または設定します。 |
メソッド
Equals(Object) |
指定されたオブジェクトが現在のオブジェクトと等しいかどうかを判断します。 (継承元 Object) |
GetHashCode() |
既定のハッシュ関数として機能します。 (継承元 Object) |
GetType() |
現在のインスタンスの Type を取得します。 (継承元 Object) |
MemberwiseClone() |
現在の Object の簡易コピーを作成します。 (継承元 Object) |
ToString() |
現在のオブジェクトを表す文字列を返します。 (継承元 Object) |
適用対象
こちらもご覧ください
.NET