ObjectDataSourceEventArgs.ObjectInstance プロパティ
アセンブリ: System.Web (system.web.dll 内)

Dim instance As ObjectDataSourceEventArgs Dim value As Object value = instance.ObjectInstance instance.ObjectInstance = value
/** @property */ public Object get_ObjectInstance () /** @property */ public void set_ObjectInstance (Object value)
ObjectDataSource がデータ操作を実行するために使用するビジネス オブジェクト。それ以外の場合、ObjectDataSourceEventArgs に null 参照 (Visual Basic では Nothing) が渡されるときは null 参照 (Visual Basic では Nothing)。

このセクションには、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; } } }

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.ObjectInstance プロパティのページへのリンク