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

ObjectDataSource イベント


パブリック イベントパブリック イベント

  名前 説明
パブリック イベント DataBinding  サーバー コントロールがデータ ソースに連結すると発生します。 ( Control から継承されます。)
パブリック イベント Deleted Delete 操作の完了時に発生します。
パブリック イベント Deleting Delete 操作の前に発生します。
パブリック イベント Disposed  サーバー コントロールがメモリから解放されると発生します。これは、ASP.NET ページが要求されている場合のサーバー コントロールの有効期間における最終段階です。 ( Control から継承されます。)
パブリック イベント Filtering フィルタ操作の前に発生します。
パブリック イベント Init  サーバー コントロールが初期化されると発生します。これは、サーバー コントロールの有効期間における最初の手順です。 ( Control から継承されます。)
パブリック イベント Inserted Insert 操作の完了時に発生します。
パブリック イベント Inserting Insert 操作の前に発生します。
パブリック イベント Load  サーバー コントロールが Page オブジェクトに読み込まれると発生します。 ( Control から継承されます。)
パブリック イベント ObjectCreated TypeName プロパティで識別されるオブジェクトが作成された後に発生します。
パブリック イベント ObjectCreating TypeName プロパティで識別されるオブジェクトが作成される前に発生します。
パブリック イベント ObjectDisposing TypeName プロパティで識別されるオブジェクトが破棄される前に発生します。
パブリック イベント PreRender  Control オブジェクトの読み込み後、表示を開始する前に発生します。 ( Control から継承されます。)
パブリック イベント Selected Select 操作の完了時に発生します。
パブリック イベント Selecting Select 操作の前に発生します。
パブリック イベント Unload  サーバー コントロールがメモリからアンロードされると発生します。 ( Control から継承されます。)
パブリック イベント Updated Update 操作の完了時に発生します。
パブリック イベント Updating Update 操作の前に発生します。
参照参照

関連項目

ObjectDataSource クラス
System.Web.UI.WebControls 名前空間
IDataSource
DataSourceControl
ObjectDataSourceView

ObjectDataSource クラス

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

多階層 Web アプリケーション アーキテクチャで、データ バインド コントロールにデータを提供するビジネス オブジェクトを表します。

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

Public Class ObjectDataSource
    Inherits DataSourceControl
Dim instance As ObjectDataSource
public class ObjectDataSource : DataSourceControl
public class ObjectDataSource extends DataSourceControl
public class ObjectDataSource extends
 DataSourceControl
解説解説

ObjectDataSource は、データ バインド コントロールに対してデータ バインディング関連の中間層オブジェクトまたはデータ インターフェイス オブジェクトを表す ASP.NET データ ソース コントロールです。ObjectDataSource をデータ バインド コントロールと組み合わせて使用すると、コードをほとんどまたはまったく必要とせずに、Web ページでデータの表示、編集、並べ替えを行うことができます。

アプリケーションのごく一般的なデザイン方法は、プレゼンテーション層をビジネス ロジックから分離し、ビジネス ロジックをビジネス オブジェクトにカプセル化する方法です。これらのビジネス オブジェクトは、プレゼンテーション層とデータ層を明確に区別する層を形成します。したがって、3 階層アプリケーション アーキテクチャを実現します。ObjectDataSource コントロールを使用すると、開発者は 3 階層アプリケーション アーキテクチャを維持しながら、ASP.NET データ ソース コントロールを使用できます。

ObjectDataSource コントロールは、リフレクションを使用してビジネス オブジェクトのインスタンスを作成し、作成したインスタンスに対してメソッドを呼び出してデータを更新、挿入、および削除します。TypeName プロパティは、ObjectDataSource が使用するクラスの名前を識別します。ObjectDataSource コントロールは、メソッドを呼び出すたびにクラスのインスタンスを作成し、破棄します。つまり、このコントロールは、Web 要求の有効期間中、メモリ内にオブジェクトを保持しません。使用するビジネス オブジェクトに多数のリソースが必要な場合、この点を十分に考慮しないと、作成と破棄に負荷がかかります。負荷のかかるオブジェクトの使用はデザイン上の最適な選択とはいえませんが、ObjectCreating、ObjectCreated、ObjectDisposing の各イベントを使用することで、オブジェクトの有効期間を制御できます。

メモメモ

SelectMethod、UpdateMethod、InsertMethod、DeleteMethod の各プロパティで識別されるメソッドには、インスタンス メソッドまたは static (Visual Basic では Shared) メソッドを指定できます。メソッドが static (Visual Basic では Shared) の場合、ビジネス オブジェクトのインスタンスは作成されず、ObjectCreating、ObjectCreated、ObjectDisposing の各イベントは発生しません。

ビジネス オブジェクトからデータを取得するには、データを取得するメソッドの名前で SelectMethod プロパティを設定します。メソッドが IEnumerable オブジェクトまたは DataSet オブジェクトを返さない場合、オブジェクトはランタイムによって IEnumerable コレクションにラップされます。メソッド シグネチャにパラメータが含まれている場合は、Parameter オブジェクトを SelectParameters コレクションに追加でき、さらにこれらのオブジェクトを、SelectMethod メソッドで指定されたメソッドに渡す値にバインドできます。ObjectDataSource でパラメータを使用するには、パラメータがメソッド シグネチャのパラメータの名前と型に一致する必要があります。

ObjectDataSource コントロールは、Select メソッドが呼び出されるたびにデータを取得します。このメソッドを使用すると、SelectMethod プロパティで指定されたメソッドにプログラムによってアクセスできます。SelectMethod プロパティで指定されたメソッドは、DataBind メソッドの呼び出し時に、ObjectDataSource にバインドされたコントロールによって自動的に呼び出されます。データ バインド コントロールの DataSourceID プロパティを設定すると、コントロールは必要に応じてデータ ソースのデータに自動的にバインドされます。ObjectDataSource コントロールをデータ バインド コントロールにバインドする場合は、DataSourceID プロパティを設定することをお勧めします。DataSource プロパティを設定することもできますが、その場合はデータ バインド コントロールの DataBind メソッドを明示的に呼び出す必要があります。データを取得するために、Select メソッドをプログラムによっていつでも呼び出すことができます。

データ バインド コントロールをデータ ソース コントロールにバインドする方法の詳細については、「データ ソース コントロールによるデータへのバインド」を参照してください。

ObjectDataSource コントロールが使用するビジネス オブジェクトの機能に応じて、更新、挿入、削除などのデータ操作を実行できます。これらのデータ操作を実行するには、実行する操作に対して適切なメソッド名と関連するパラメータを設定します。たとえば、更新操作の場合、UpdateMethod プロパティを、更新を実行するビジネス オブジェクト メソッドの名前に設定し、必要なパラメータを UpdateParameters コレクションに追加します。ObjectDataSource コントロールがデータ バインド コントロールに関連付けられている場合、パラメータはそのデータ バインド コントロールによって追加されます。この場合、メソッドのパラメータ名とデータ バインド コントロールのフィールド名を必ず一致させる必要があります。Update メソッドがコードから明示的に呼び出されるか、データ バインド コントロールから自動的に呼び出されると、更新が実行されます。Delete 操作および Insert 操作の場合も、同じ一般的なパターンに従います。ビジネス オブジェクトは、これらのデータ操作をバッチ処理ではなく、一度に 1 レコードずつ実行することを前提としています。

データが DataSet、DataView、DataTable の各オブジェクトとして返される場合、ObjectDataSource コントロールは、SelectMethod プロパティによって取得したデータをフィルタ処理できます。ObjectDataSource コントロールを使用すると、データのすべての型をキャッシュできます。ただし、オブジェクトのこの同じインスタンスは、複数の要求を処理するために使用されるため、複数の要求を処理する際に共有できないリソースや状態を保持しているオブジェクト (開いた SqlDataReader オブジェクトなど) はキャッシュしないでください。書式指定文字列の構文を使用して、FilterExpression プロパティをフィルタ式に設定し、式の値を FilterParameters コレクションの指定されたパラメータにバインドできます。

ObjectDataSource は、ビジネス オブジェクトのインスタンスを複数の要求にわたって保持はしませんが、SelectMethod メソッドの結果をキャッシュできます。データがキャッシュされている間、Select メソッドの以降の呼び出しは、ビジネス オブジェクトを作成し、リフレクションを使用してそのビジネス オブジェクトの SelectMethod を呼び出す代わりに、キャッシュ データを返します。オブジェクトを作成し、データ メソッドを呼び出すと Web サーバー上のメモリが消費されますが、キャッシュを利用することでこれを回避できます。つまり、これは適切なトレードオフといえます。EnableCaching プロパティを true に設定し、CacheDuration プロパティをキャッシュが破棄されるまでの秒数、つまり、キャッシュにデータが格納される秒数に設定すると、ObjectDataSource はデータを自動的にキャッシュします。また、CacheExpirationPolicy プロパティやオプションの SqlCacheDependency プロパティを指定することもできます。

ObjectDataSource コントロールの機能を次の表に示します。

機能

要件

選択

SelectMethod プロパティを、データを選択するビジネス オブジェクト メソッドの名前に設定し、プログラムによって、またはデータ バインド コントロールを使用して、SelectParameters コレクションに必要なパラメータを追加します。

並べ替え

SortParameterName プロパティを、並べ替え基準を指定する SelectMethod メソッドのパラメータ名に設定します。

フィルタ処理

FilterExpression プロパティをフィルタ式に設定します。オプションで FilterParameters コレクションにパラメータを追加し、Select メソッドの呼び出し時にデータをフィルタ処理することもできます。SelectMethod プロパティで指定されたメソッドは、DataSet、DataView、または DataTable を返す必要があります。

ページング

SelectMethod メソッドに、取得するレコードの最大数と取得する最初のレコードのインデックスを指定するパラメータを含めると、データ ソース ページングがサポートされます。これらのパラメータの名前は、それぞれ MaximumRowsParameterName プロパティおよび StartRowIndexParameterName プロパティで設定する必要あります。SelectMethod プロパティで指定されたメソッドで、ObjectDataSource コントロールが直接ページングをサポートしていない場合でも、データ バインド コントロールが独自にページングを実行できる場合があります。データ バインド コントロールがこれを実行できるようにするには、SelectMethod プロパティで指定されたメソッドが、Icollection インターフェイスを実装するオブジェクトを返す必要があります。

更新

UpdateMethod プロパティを、データを更新するビジネス オブジェクト メソッドの名前に設定し、UpdateParameters コレクションに必要なパラメータを追加します。

削除

DeleteMethod プロパティを、データを削除するビジネス オブジェクト メソッドまたは関数の名前に設定し、DeleteParameters コレクションに必要なパラメータを追加します。

挿入

InsertMethod プロパティを、データを挿入するビジネス オブジェクト メソッドまたは関数の名前に設定し、InsertParameters コレクションに必要なパラメータを追加します。

キャッシュ

EnableCaching プロパティを true に設定し、キャッシュ データに対して必要なキャッシュ動作に基づいて、CacheDuration プロパティと CacheExpirationPolicy プロパティを設定します。

すべてのデータ ソース コントロールと同様に、ObjectDataSource コントロールはデータ ソース ビュー クラスに関連付けられています。ObjectDataSource コントロールは、ページ開発者がデータを処理するために使用するインターフェイスであり、ObjectDataSourceView クラスはデータ バインド コントロールが使用するインターフェイスです。また、ObjectDataSourceView クラスは、データ ソース コントロールの機能を記述し、実際の処理を実行します。ObjectDataSource コントロールには、ObjectDataSourceView が 1 つだけ関連付けられており、常に DefaultView という名前になります。ObjectDataSourceView オブジェクトは GetView メソッドによって公開され、そのプロパティとメソッドの多くは、ObjectDataSource コントロールによってラップされ、直接公開されます。背後では、データの取得、挿入、更新、削除、フィルタ処理、並べ替えなど、すべてのデータ操作を ObjectDataSourceView オブジェクトが実行します。詳細については、「ObjectDataSourceView」を参照してください。

ObjectDataSource コントロールは視覚的に表示されません。このコントロールは、宣言によって作成できるようにコントロールとして実装されます。また、オプションで状態管理に関与させることもできます。したがって、ObjectDataSource は、EnableTheming プロパティや SkinID プロパティなどの表示機能をサポートしていません。

TopicLocation
チュートリアル : Visual Studio データ コンポーネントによる Web ページのデータ バインディングVisual Studio での ASP .NET Web アプリケーションの作成
チュートリアル : カスタム ビジネス オブジェクトへのデータ バインディングVisual Studio での ASP .NET Web アプリケーションの作成
方法 : Visual Studio でテンプレート コントロールにデータをバインドするVisual Studio での ASP .NET Web アプリケーションの作成
方法 : Web フォーム ページに Repeater Web サーバー コントロールを追加する (Visual Studio)Visual Studio での ASP .NET Web アプリケーションの作成
方法 : データ ソース コントロールを使用するときに接続文字列をセキュリティ保護するASP .NET Web アプリケーションの作成
方法 : データ ソース コントロールを使用するときに接続文字列をセキュリティ保護する (Visual Studio)Visual Studio での ASP .NET Web アプリケーションの作成
方法 : テンプレート コントロールにデータを連結するASP .NET Web アプリケーションの作成
使用例使用例

このセクションには、2 つのコード例が含まれています。1 つ目のコード例では、GridView コントロールが Web フォームの ObjectDataSource オブジェクトを使用してデータを表示する方法を示します。2 つ目のコード例では、このコード例と ObjectDataSource の他の多くのコード例で使用する中間層ビジネス オブジェクトの例を示します。

GridView コントロールが Web フォームの ObjectDataSource コントロールを使用してデータを表示する方法を次のコード例に示します。ObjectDataSource は、TypeName プロパティでビジネス オブジェクトの部分修飾クラス名または完全修飾クラス名を識別し、SelectMethod プロパティでデータを取得するために呼び出されるビジネス オブジェクト メソッドを識別します。実行時にオブジェクトが作成され、メソッドはリフレクションを使用して呼び出されます。GridView コントロールは、SelectMethod によって返された IEnumerable コレクションに対して列挙処理を実行し、データを表示します。

<%@ Register TagPrefix="aspSample" Namespace="Samples.AspNet.VB"
 Assembly="Samples.AspNet.VB"
 %>
<%@ Page language="vb" %>
<html>
  <head>
    <title>ObjectDataSource - Visual Basic Example</title>
  </head>
  <body>
    <form id="Form1" method="post"
 runat="server">

        <asp:gridview
          id="GridView1"
          runat="server"
          datasourceid="ObjectDataSource1" />

        <asp:objectdatasource
          id="ObjectDataSource1"
          runat="server"
          selectmethod="GetAllEmployees"
          typename="Samples.AspNet.VB.EmployeeLogic"
 />

    </form>
  </body>
</html>
<%@ Register TagPrefix="aspSample" Namespace="Samples.AspNet.CS"
 Assembly="Samples.AspNet.CS" %>
<%@ Page language="c#" %>
<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:objectdatasource
          id="ObjectDataSource1"
          runat="server"
          selectmethod="GetAllEmployees"
          typename="Samples.AspNet.CS.EmployeeLogic" />

    </form>
  </body>
</html>
<%@ Register TagPrefix="aspSample" Namespace="Samples.AspNet.JSL"
 Assembly="Samples.AspNet.JSL" %>
<%@ Page language="VJ#" %>
<html>
  <head>
    <title>ObjectDataSource - VJ# Example</title>
  </head>
  <body>
    <form id="Form1" method="post" runat="server">

        <asp:gridview
          id="GridView1"
          runat="server"
          datasourceid="ObjectDataSource1" />

        <asp:objectdatasource
          id="ObjectDataSource1"
          runat="server"
          selectmethod="GetAllEmployees"
          typename="Samples.AspNet.JSL.EmployeeLogic" />

    </form>
  </body>
</html>

このコード例と ObjectDataSource の他の多くのコード例で使用する中間層ビジネス オブジェクトの例を次のコード例に示します。このコード例は、次の 2 つのビジネス クラスで構成されます。

便宜上、追加の NorthwindDataException クラスが提供されています。

これらのサンプル クラスは、Northwind Traders データベース (Microsoft SQL Server および Microsoft Access に付属) で動作します。実際に動作させるためには、これらのクラスをコンパイルし、提供された Web フォームのコード例と組み合わせて使用する必要があります。

この例は、ビジネス オブジェクトが ObjectDataSource コントロールとやり取りする最も一般的な方法の 1 つに従って、これをわかりやすく示すようにデザインされています。これがデザインの推奨例ではありません。一部の例では、EmployeeLogic クラスまたは NorthwindEmployee クラスにメソッドが追加されています。また、このクラスのセットに変更を加え、基本概念を示している例もあります。

Imports System
Imports System.Collections
Imports System.Configuration
Imports System.Data
Imports System.Data.SqlClient
Imports System.Web.UI
Imports System.Web.UI.WebControls

Namespace Samples.AspNet.VB
'
' EmployeeLogic is a stateless business object that encapsulates
' the operations you can perform on a NorthwindEmployee object.
' When the class is written in Visual Basic, you cannot use the Shared
' part.
Public Class EmployeeLogic
   ' Returns a collection of NorthwindEmployee objects.
   Public Shared Function
 GetAllEmployees() As ICollection
      Dim al As New ArrayList()

      Dim cts As ConnectionStringSettings =
 ConfigurationManager.ConnectionStrings("NorthwindConnection")
      Dim sds As New SqlDataSource(cts.ConnectionString,
 "SELECT EmployeeID FROM Employees")
      Try
         Dim IDs As IEnumerable = sds.Select(DataSourceSelectArguments.Empty)

         ' Iterate through the Enumeration and create a
         ' NorthwindEmployee object for each ID.
         For Each row As
 DataRowView In IDs
            Dim id As String
 = row("EmployeeID").ToString()
            Dim nwe As New
 NorthwindEmployee(id)
            ' Add the NorthwindEmployee object to the collection.
            al.Add(nwe)
         Next
      Finally
         ' If anything strange happens, clean up.
         sds.Dispose()
      End Try

      Return al
   End Function 'GetAllEmployees

   Public Shared Function
 GetEmployee(anID As Object) As
 NorthwindEmployee
      Return New NorthwindEmployee(anID)
   End Function 'GetEmployee


   Public Shared Sub UpdateEmployeeInfo(ne
 As NorthwindEmployee)
      Dim retval As Boolean
 = ne.Save()
      If Not retval Then
         Throw New NorthwindDataException("UpdateEmployee
 failed.")
      End If
   End Sub 'UpdateEmployeeInfo

   Public Shared Sub DeleteEmployee(ne
 As NorthwindEmployee)
   End Sub 'DeleteEmployee

End Class 'EmployeeLogic


Public Class NorthwindEmployee


   Public Sub New()
      ID = DBNull.Value
      aLastName = ""
      aFirstName = ""
      aTitle = ""
      titleOfCourtesy = ""
      reportsTo = - 1
   End Sub 'New


   Public Sub New(anID As
 Object)
      Me.ID = anID
      Dim cts As ConnectionStringSettings =
 ConfigurationManager.ConnectionStrings("NorthwindConnection")
      Dim conn As New SqlConnection(cts.ConnectionString)
      Dim sc As New SqlCommand("
 SELECT FirstName,LastName,Title,TitleOfCourtesy,ReportsTo " & _
                               " FROM Employees "
 & _
                               " WHERE EmployeeID = @empId",
 conn)
      ' Add the employee ID parameter and set its value.
      sc.Parameters.Add(New SqlParameter("@empId",
 SqlDbType.Int)).Value = Int32.Parse(anID.ToString())
      Dim sdr As SqlDataReader = Nothing

      Try
         conn.Open()
         sdr = sc.ExecuteReader()

         ' This is not a while loop. It only loops once.
         If Not (sdr Is
 Nothing) AndAlso sdr.Read() Then
            ' The IEnumerable contains DataRowView objects.
            Me.aFirstName = sdr("FirstName").ToString()
            Me.aLastName = sdr("LastName").ToString()
            Me.aTitle = sdr("Title").ToString()
            Me.titleOfCourtesy = sdr("TitleOfCourtesy").ToString()
            If Not sdr.IsDBNull(4) Then
               Me.reportsTo = sdr.GetInt32(4)
            End If
         Else
            Throw New NorthwindDataException("Data
 not loaded for employee id.")
         End If
      Finally
         Try
            If Not (sdr Is
 Nothing) Then
               sdr.Close()
            End If
            conn.Close()
         Catch se As SqlException
            ' Log an event in the Application Event Log.
            Throw
         End Try
      End Try
   End Sub 'New

   Private ID As Object

   Private aLastName As String
   Public Property LastName() As
 String
      Get
         Return aLastName
      End Get
      Set
         aLastName = value
      End Set
   End Property

   Private aFirstName As String
   Public Property FirstName() As
 String
      Get
         Return aFirstName
      End Get
      Set
         aFirstName = value
      End Set
   End Property

   Private aTitle As String
   Public Property Title() As
 String
      Get
         Return aTitle
      End Get
      Set
         aTitle = value
      End Set
   End Property

   Private titleOfCourtesy As String
   Public Property Courtesy() As
 String
      Get
         Return titleOfCourtesy
      End Get
      Set
         titleOfCourtesy = value
      End Set
   End Property
   Private reportsTo As Integer

   Public Property Supervisor() As
 Integer
      Get
         Return reportsTo
      End Get
      Set
         reportsTo = value
      End Set
   End Property

   Public Function Save() As
 Boolean
      Return True
   End Function 'Save
End Class 'NorthwindEmployee


Friend Class NorthwindDataException
   Inherits Exception

   Public Sub New(msg As
 String)
      MyBase.New(msg)
   End Sub 'New
End Class 'NorthwindDataException
End Namespace
namespace Samples.AspNet.CS {

using System;
using System.Collections;
using System.Collections.Specialized;
using System.Configuration;
using System.Data;
using System.Data.SqlClient;
using System.Web.UI;
using System.Web.UI.WebControls;
  //
  // EmployeeLogic is a stateless business object that encapsulates
  // the operations one can perform on a NorthwindEmployee object.
  //
  public class EmployeeLogic {

    // Returns a collection of NorthwindEmployee objects.
    public static ICollection GetAllEmployees
 () {
      ArrayList al = new ArrayList();

      ConnectionStringSettings cts = ConfigurationManager.ConnectionStrings["NorthwindConnection"];

      SqlDataSource sds
        = new SqlDataSource(cts.ConnectionString, "SELECT
 EmployeeID FROM Employees");

      try {

        IEnumerable IDs = sds.Select(DataSourceSelectArguments.Empty);

        // Iterate through the Enumeration and create a
        // NorthwindEmployee object for each ID.
        foreach (DataRowView row in IDs) {
          string id = row["EmployeeID"].ToString();
          NorthwindEmployee nwe = new NorthwindEmployee(id);
          // Add the NorthwindEmployee object to the collection.
          al.Add(nwe);
        }
      }
      finally {
        // If anything strange happens, clean up.
        sds.Dispose();
      }

      return al;
    }
    public static NorthwindEmployee GetEmployee(object
 anID) {
      return new NorthwindEmployee(anID);
    }

    public static void UpdateEmployeeInfo(NorthwindEmployee
 ne) {
      bool retval = ne.Save();
      if (! retval) { throw new NorthwindDataException("UpdateEmployee
 failed."); }
    }

    public static void DeleteEmployee(NorthwindEmployee
 ne) { }

  }

  public class NorthwindEmployee {

    public NorthwindEmployee () {
      ID = DBNull.Value;
      lastName = "";
      firstName = "";
      title="";
      titleOfCourtesy = "";
      reportsTo = -1;
    }

    public NorthwindEmployee (object anID) {
      this.ID = anID;

      ConnectionStringSettings cts = ConfigurationManager.ConnectionStrings["NorthwindConnection"];

        SqlConnection conn = new SqlConnection (cts.ConnectionString);
      SqlCommand sc =
        new SqlCommand(" SELECT FirstName,LastName,Title,TitleOfCourtesy,ReportsTo
 " +
                       " FROM Employees " +
                       " WHERE EmployeeID = @empId",
                       conn);
      // Add the employee ID parameter and set its value.
      sc.Parameters.Add(new SqlParameter("@empId",SqlDbType.Int)).Value
 = Int32.Parse(anID.ToString());
      SqlDataReader sdr = null;

      try {
        conn.Open();
        sdr = sc.ExecuteReader();

        // This is not a while loop. It only loops once.
        if (sdr != null && sdr.Read())
 {
          // The IEnumerable contains DataRowView objects.
          this.firstName        = sdr["FirstName"].ToString();
          this.lastName         = sdr["LastName"].ToString();
          this.title            = sdr["Title"].ToString();
          this.titleOfCourtesy  = sdr["TitleOfCourtesy"].ToString();
          if (! sdr.IsDBNull(4)) {
            this.reportsTo        = sdr.GetInt32(4);
          }
        }
        else {
          throw new NorthwindDataException("Data not loaded
 for employee id.");
        }
      }
      finally {
        try {
          if (sdr != null) sdr.Close();
          conn.Close();
        }
        catch (SqlException) {
          // Log an event in the Application Event Log.
          throw;
        }
      }
    }

    private object ID;

    private string lastName;
    public string LastName {
      get { return lastName; }
      set { lastName = value; }
    }

    private string firstName;
    public string FirstName {
      get { return firstName; }
      set { firstName = value;  }
    }

    private string title;
    public String Title {
      get { return title; }
      set { title = value; }
    }

    private string titleOfCourtesy;
    public string Courtesy {
      get { return titleOfCourtesy; }
      set { titleOfCourtesy = value; }
    }

    private int    reportsTo;
    public int Supervisor {
      get { return reportsTo; }
      set { reportsTo = value; }
    }

    public bool Save () {
      return true;
    }
  }

  internal class NorthwindDataException: Exception {
    public NorthwindDataException(string msg)
 : base (msg) { }
  }
}
package  Samples.AspNet.JSL; 

import System.*;
import System.Collections.*;
import System.Collections.Specialized.*;
import System.Configuration.*;
import System.Data.*;
import System.Data.SqlClient.*;
import System.Web.UI.*;
import System.Web.UI.WebControls.*;
   
//
// EmployeeLogic is a stateless business object that encapsulates
// the operations one can perform on a NorthwindEmployee object.
//
public class EmployeeLogic
{
    // Returns a collection of NorthwindEmployee objects.
    public static ICollection GetAllEmployees()
        throws NorthwindDataException, SqlException
    {
        ArrayList al = new ArrayList();

        ConnectionStringSettings cts = 
            ConfigurationManager.get_ConnectionStrings().get_Item("NorthwindConnection");

        
        SqlDataSource sds =
            new SqlDataSource(cts.get_ConnectionString(), "SELECT
 EmployeeID FROM Employees");

        try {
            IEnumerable ids = sds.Select(DataSourceSelectArguments.get_Empty());

            // Iterate through the Enumeration and create a
            // NorthwindEmployee object for each id.
            IEnumerator enumerator = ids.GetEnumerator();
            while (enumerator.MoveNext()) {
                // The IEnumerable contains DataRowView objects.
                DataRowView row = (DataRowView)enumerator.get_Current();
                String id = row.get_Item("EmployeeID").ToString();
                NorthwindEmployee nwe = new NorthwindEmployee(id);
                // Add the NorthwindEmployee object to the collection.
                al.Add(nwe);
            }
        }
        finally {
            // If anything strange happens, clean up.
            sds.Dispose();
        }

        return al;
    } //GetAllEmployees

    public static NorthwindEmployee GetEmployee(Object
 anId)
        throws NorthwindDataException, SqlException
    {
        return new NorthwindEmployee(anId);
    } //GetEmployee

    public static void UpdateEmployeeInfo(NorthwindEmployee
 ne)
        throws NorthwindDataException, SqlException
    {
        boolean retval = ne.Save();
        if (!retval) {
            throw new NorthwindDataException("UpdateEmployee
 failed.");
        }
    } //UpdateEmployeeInfo

    public static void DeleteEmployee(NorthwindEmployee
 ne)
    {
    } //DeleteEmployee 
} //EmployeeLogic

public class NorthwindEmployee
{
    public NorthwindEmployee()
    {
        id = DBNull.Value;
        lastName = "";
        firstName = "";
        title = "";
        titleOfCourtesy = "";
        reportsTo = -1;
    } //NorthwindEmployee

    public NorthwindEmployee(Object anId)
        throws NorthwindDataException, SqlException
    {
        this.id = anId;

        ConnectionStringSettings cts = 
        ConfigurationManager.get_ConnectionStrings().get_Item("NorthwindConnection");
    SqlConnection conn = new SqlConnection(cts.get_ConnectionString());
        SqlCommand sc = new SqlCommand(" SELECT FirstName,LastName,Title,TitleOfCourtesy,ReportsTo"
 +
            " FROM Employees " +
            " WHERE EmployeeID = @empId",
            conn);
        // Add the employee ID parameter and set its value.
        sc.get_Parameters().Add(new SqlParameter("@empId",
 SqlDbType.Int)).
            set_Value((Int32)Int32.Parse(anId.ToString()));
        SqlDataReader sdr = null;

        try {
            conn.Open();
            sdr = sc.ExecuteReader();
            // This is not a while loop. It only loops once.
            if (sdr != null && sdr.Read())
 {
                // The IEnumerable contains DataRowView objects.
                this.firstName = sdr.get_Item("FirstName").ToString();
                this.lastName = sdr.get_Item("LastName").ToString();
                this.title = sdr.get_Item("Title").ToString();
                this.titleOfCourtesy = sdr.get_Item("TitleOfCourtesy").
                    ToString();
                if (!(sdr.IsDBNull(4))) {
                    this.reportsTo = sdr.GetInt32(4);
                }
            }
            else {
                throw new NorthwindDataException("Data not loaded
 for employee id.");
            }
        }
        finally {
            try {
                if (sdr != null) {
                    sdr.Close();
                }
                conn.Close();
            }
            catch (SqlException exp) {
                // Log an event in the Application Event Log.
                throw exp;
            }
        }
    } //NorthwindEmployee

    private Object id;

    private String lastName;

    /** @property 
     */
    public String get_LastName()
    {
        return lastName;
    } //get_LastName

    /** @property 
     */
    public void set_LastName(String value)
    {
        lastName = value;
    } //set_LastName

    private String firstName;

    /** @property 
     */
    public String get_FirstName()
    {
        return firstName;
    } //get_FirstName

    /** @property 
     */
    public void set_FirstName(String value)
    {
        firstName = value;
    } //set_FirstName

    private String title;

    /** @property 
     */
    public String get_Title()
    {
        return title;
    } //get_Title

    /** @property 
     */
    public void set_Title(String value)
    {
        title = value;
    } //set_Title

    private String titleOfCourtesy;

    /** @property 
     */
    public String get_Courtesy()
    {
        return titleOfCourtesy;
    } //get_Courtesy

    /** @property 
     */
    public void set_Courtesy(String value)
    {
        titleOfCourtesy = value;
    } //set_Courtesy

    private int reportsTo;

    /** @property 
     */
    public int get_Supervisor()
    {
        return reportsTo;
    } //get_Supervisor

    /** @property 
     */
    public void set_Supervisor(int
 value)
    {
        reportsTo = value;
    } //set_Supervisor

    public boolean Save()
    {
        return true;
    } //Save
} //NorthwindEmployee

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

ObjectDataSource コンストラクタ ()


ObjectDataSource コンストラクタ (String, String)

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

型名とデータ取得メソッド名を指定して、ObjectDataSource クラスの新しいインスタンスを初期化します。

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

Public Sub New ( _
    typeName As String, _
    selectMethod As String _
)
Dim typeName As String
Dim selectMethod As String

Dim instance As New ObjectDataSource(typeName,
 selectMethod)
public ObjectDataSource (
    string typeName,
    string selectMethod
)
public:
ObjectDataSource (
    String^ typeName, 
    String^ selectMethod
)
public ObjectDataSource (
    String typeName, 
    String selectMethod
)
public function ObjectDataSource (
    typeName : String, 
    selectMethod : String
)

パラメータ

typeName

ObjectDataSource が使用するクラスの名前。

selectMethod

ObjectDataSource がデータを取得するために呼び出すメソッドまたは関数の名前。

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

ObjectDataSource コンストラクタ

ObjectDataSource クラスの新しいインスタンスを初期化します。
オーバーロードの一覧オーバーロードの一覧

参照参照

関連項目

ObjectDataSource クラス
ObjectDataSource メンバ
System.Web.UI.WebControls 名前空間

ObjectDataSource プロパティ


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

( プロテクト プロパティ も参照)
  名前 説明
パブリック プロパティ AppRelativeTemplateSourceDirectory  このコントロールが含まれている Page オブジェクトまたは UserControl オブジェクトのアプリケーション相対の仮想ディレクトリを取得または設定します。 ( Control から継承されます。)
パブリック プロパティ BindingContainer  このコントロールのデータ バインディングを格納しているコントロールを取得します。 ( Control から継承されます。)
パブリック プロパティ CacheDuration SelectMethod メソッドによって取得したデータを、データ ソース コントロールがキャッシュする時間 (秒単位) を取得または設定します。
パブリック プロパティ CacheExpirationPolicy 存続期間と組み合わせた場合の、データ ソース コントロールが使用するキャッシュの動作を記述するキャッシュの有効期限の動作を取得または設定します。
パブリック プロパティ CacheKeyDependency データ ソース コントロールによって作成されたすべてのデータ キャッシュ オブジェクトにリンクされる、ユーザー定義のキー依存関係を取得または設定します。
パブリック プロパティ ClientID  ASP.NET によって生成されたサーバー コントロール ID を取得します。 ( DataSourceControl から継承されます。)
パブリック プロパティ ConflictDetection Update メソッドに新しい値だけを渡すか、Update メソッドに新旧両方の値を渡すかを決定する値を取得または設定します。
パブリック プロパティ Controls  UI 階層構造の指定されたサーバー コントロールの子コントロールを表す ControlCollection オブジェクトを取得します。 ( DataSourceControl から継承されます。)
パブリック プロパティ ConvertNullToDBNull 更新、挿入、削除の各操作に渡される Parameter 値を、ObjectDataSource コントロールで null 参照 (Visual Basic では Nothing) から Value 値に自動的に変換するかどうかを示す値を取得または設定します。
パブリック プロパティ DataObjectTypeName ObjectDataSource コントロールが、データ バインド コントロールから個々の値を渡す代わりに、データの更新、挿入、削除の各操作のパラメータに使用するクラスの名前を取得または設定します。
パブリック プロパティ DeleteMethod ObjectDataSource コントロールがデータを削除するために呼び出すメソッドまたは関数の名前を取得または設定します。
パブリック プロパティ DeleteParameters DeleteMethod メソッドによって使用されるパラメータを格納するパラメータ コレクションを取得します。
パブリック プロパティ EnableCaching ObjectDataSource コントロールでデータ ャッシュが有効かどうかを示す値を取得または設定します。
パブリック プロパティ EnablePaging データ ソース コントロールが取得したデータ セットを使用するページングをサポートしているかどうかを示す値を取得または設定します。
パブリック プロパティ EnableTheming  このコントロールがテーマをサポートしているかどうかを示す値を取得します。 ( DataSourceControl から継承されます。)
パブリック プロパティ EnableViewState  サーバー コントロールが、そのビューステートおよび格納している子コントロールのビューステートを、要求しているクライアントに永続化させるかどうかを示す値を取得または設定します。 ( Control から継承されます。)
パブリック プロパティ FilterExpression SelectMethod プロパティで指定されたメソッドの呼び出し時に適用されるフィルタ式を取得または設定します。
パブリック プロパティ FilterParameters FilterExpression 文字列のパラメータ プレースホルダに関連付けられたパラメータのコレクションを取得します。
パブリック プロパティ ID  サーバー コントロールに割り当てられたプログラム ID を取得または設定します。 ( Control から継承されます。)
パブリック プロパティ InsertMethod ObjectDataSource コントロールがデータを挿入するために呼び出すメソッドまたは関数の名前を取得または設定します。
パブリック プロパティ InsertParameters InsertMethod メソッドによって使用されるパラメータを格納するパラメータ コレクションを取得します。
パブリック プロパティ MaximumRowsParameterName データ ソース ページングをサポートするために取得するレコード数を示す際に使用する、ビジネス オブジェクトのデータ取得メソッドのパラメータ名を取得または設定します。
パブリック プロパティ NamingContainer  同じ Control.ID プロパティ値を持つ複数のサーバー コントロールを区別するための一意の名前空間を作成する、サーバー コントロールの名前付けコンテナへの参照を取得します。 ( Control から継承されます。)
パブリック プロパティ OldValuesParameterFormatString Delete メソッドまたは Update メソッドに渡される元の値のパラメータ名に適用される書式指定文字列を取得または設定します。
パブリック プロパティ Page  サーバー コントロールを含んでいる Page インスタンスへの参照を取得します。 ( Control から継承されます。)
パブリック プロパティ Parent  ページ コントロールの階層構造における、サーバー コントロールの親コントロールへの参照を取得します。 ( Control から継承されます。)
パブリック プロパティ SelectCountMethod ObjectDataSource コントロールが行数を取得するために呼び出すメソッドまたは関数の名前を取得または設定します。
パブリック プロパティ SelectMethod ObjectDataSource コントロールがデータを取得するために呼び出すメソッドまたは関数の名前を取得または設定します。
パブリック プロパティ SelectParameters SelectMethod メソッドによって使用されるパラメータを格納するパラメータ コレクションを取得します。
パブリック プロパティ Site  デザイン サーフェイスに現在のコントロールを表示するときに、このコントロールをホストするコンテナに関する情報を取得します。 ( Control から継承されます。)
パブリック プロパティ SkinID  DataSourceControl コントロールに適用するスキンを取得します。 ( DataSourceControl から継承されます。)
パブリック プロパティ SortParameterName データ ソースの並べ替えをサポートするために、SelectMethod パラメータで並べ替え式を指定する際に使用したビジネス オブジェクトの名前を取得また設定します。
パブリック プロパティ SqlCacheDependency Microsoft SQL Server キャッシュの依存関係で使用するデータベースとテーブルを示す、セミコロンで区切られた文字列を取得または設定します。
パブリック プロパティ StartRowIndexParameterName データ ソース ページングをサポートするために取得する最初のレコードの識別子の値を示す際に使用する、データ取得メソッドのパラメータ名を取得または設定します。
パブリック プロパティ TemplateControl  このコントロールを格納しているテンプレートへの参照を取得または設定します。 ( Control から継承されます。)
パブリック プロパティ TemplateSourceDirectory  現在のサーバー コントロールを格納している Page または UserControl の仮想ディレクトリを取得します。 ( Control から継承されます。)
パブリック プロパティ TypeName ObjectDataSource オブジェクトが表すクラスの名前を取得または設定します。
パブリック プロパティ UniqueID  階層構造で修飾されたサーバー コントロールの一意の ID を取得します。 ( Control から継承されます。)
パブリック プロパティ UpdateMethod ObjectDataSource コントロールがデータを更新するために呼び出すメソッドまたは関数の名前を取得または設定します。
パブリック プロパティ UpdateParameters UpdateMethod プロパティで指定されたメソッドによって使用されるパラメータを格納するパラメータ コレクションを取得します。
パブリック プロパティ Visible  コントロールが視覚的に表示されているかどうかを示す値を取得または設定します。 ( DataSourceControl から継承されます。)
プロテクト プロパティプロテクト プロパティ
  名前 説明
プロテクト プロパティ Adapter  コントロール用のブラウザ固有のアダプタを取得します。 ( Control から継承されます。)
プロテクト プロパティ ChildControlsCreated  サーバー コントロールの子コントロールが作成されたかどうかを示す値を取得します。 ( Control から継承されます。)
プロテクト プロパティ ClientIDSeparator  ClientID プロパティで使用される区切り記号を表す文字値を取得します。 ( Control から継承されます。)
プロテクト プロパティ Context  現在の Web 要求に対するサーバー コントロールに関連付けられている HttpContext オブジェクトを取得します。 ( Control から継承されます。)
プロテクト プロパティ DesignMode  コントロールがデザイン サーフェイスで使用されているかどうかを示す値を取得します。 ( Control から継承されます。)
プロテクト プロパティ Events  コントロールのイベント ハンドラ デリゲートのリストを取得します。このプロパティは読み取り専用です。 ( Control から継承されます。)
プロテクト プロパティ HasChildViewState  現在のサーバー コントロールの子コントロールが、保存されたビューステートの設定を持っているかどうかを示す値を取得します。 ( Control から継承されます。)
プロテクト プロパティ IdSeparator  コントロール ID を区別するために使用する文字を取得します。 ( Control から継承されます。)
プロテクト プロパティ IsChildControlStateCleared  このコントロールに含まれているコントロールに、コントロールの状態が設定されているかどうかを示す値を取得します。 ( Control から継承されます。)
プロテクト プロパティ IsTrackingViewState  サーバー コントロールがビューステートの変更を保存しているかどうかを示す値を取得します。 ( Control から継承されます。)
プロテクト プロパティ IsViewStateEnabled  このコントロールでビューステートが有効かどうかを示す値を取得します。 ( Control から継承されます。)
プロテクト プロパティ LoadViewStateByID  コントロールがインデックスではなく ID によりビューステートの読み込みを行うかどうかを示す値を取得します。 ( Control から継承されます。)
プロテクト プロパティ ViewState  同一のページに対する複数の要求にわたって、サーバー コントロールのビューステートを保存し、復元できるようにする状態情報のディクショナリを取得します。 ( Control から継承されます。)
プロテクト プロパティ ViewStateIgnoresCase  StateBag オブジェクトが大文字小文字を区別しないかどうかを示す値を取得します。 ( Control から継承されます。)
参照参照

関連項目

ObjectDataSource クラス
System.Web.UI.WebControls 名前空間
IDataSource
DataSourceControl
ObjectDataSourceView

ObjectDataSource メソッド


パブリック メソッドパブリック メソッド

( プロテクト メソッド も参照)
  名前 説明
パブリック メソッド ApplyStyleSheetSkin  ページのスタイル シートに定義されたスタイル プロパティをコントロールに適用します。 ( DataSourceControl から継承されます。)
パブリック メソッド DataBind  オーバーロードされます。 呼び出されたサーバー コントロールと、そのすべての子コントロールにデータ ソースを連結します。 ( Control から継承されます。)
パブリック メソッド Delete DeleteParameters コレクション内のパラメータを持つ DeleteMethod プロパティで識別されるメソッドを呼び出して削除操作を実行します。
パブリック メソッド Dispose  サーバー コントロールが、メモリから解放される前に最終的なクリーンアップを実行できるようにします。 ( Control から継承されます。)
パブリック メソッド Equals  オーバーロードされます。 2 つの Object インスタンスが等しいかどうかを判断します。 ( Object から継承されます。)
パブリック メソッド FindControl  オーバーロードされます。 ( DataSourceControl から継承されます。)
パブリック メソッド Focus  コントロールに入力フォーカスを設定します。 ( DataSourceControl から継承されます。)
パブリック メソッド GetHashCode  特定の型のハッシュ関数として機能します。GetHashCode は、ハッシュ アルゴリズムや、ハッシュ テーブルのようなデータ構造での使用に適しています。 ( Object から継承されます。)
パブリック メソッド GetType  現在のインスタンスの Type を取得します。 ( Object から継承されます。)
パブリック メソッド HasControls  サーバー コントロールに子コントロールが含まれているかどうかを確認します。 ( DataSourceControl から継承されます。)
パブリック メソッド Insert InsertMethod プロパティと InsertParameters コレクション内のパラメータで識別されるメソッドを呼び出して挿入操作を実行します。
パブリック メソッド ReferenceEquals  指定した複数の Object インスタンスが同一かどうかを判断します。 ( Object から継承されます。)
パブリック メソッド RenderControl  オーバーロードされます。 ( DataSourceControl から継承されます。)
パブリック メソッド ResolveClientUrl  ブラウザで使用できる URL を取得します。 ( Control から継承されます。)
パブリック メソッド ResolveUrl  要求側クライアントで使用できる URL に変換します。 ( Control から継承されます。)
パブリック メソッド Select SelectParameters コレクション内のパラメータを持つ SelectMethod プロパティで識別されるメソッドを呼び出して、基になるデータ ストレージからデータを取得します。
パブリック メソッド SetRenderMethodDelegate  サーバー コントロールとその内容を親コントロールに表示するイベント ハンドラ デリゲートを割り当てます。 ( Control から継承されます。)
パブリック メソッド ToString  現在の Object を表す String を返します。 ( Object から継承されます。)
パブリック メソッド Update UpdateMethod プロパティと UpdateParameters コレクション内のパラメータで識別されるメソッドを呼び出して更新操作を実行します。
プロテクト メソッドプロテクト メソッド
  名前 説明
プロテクト メソッド AddedControl  子コントロールが Control オブジェクトの Controls コレクションに追加された後に呼び出されます。 ( Control から継承されます。)
プロテクト メソッド AddParsedSubObject  サーバー コントロールに、XML または HTML の要素が解析されたことを通知し、その要素をサーバー コントロールの ControlCollection オブジェクトに追加します。 ( Control から継承されます。)
プロテクト メソッド BuildProfileTree  ページのトレースが有効な場合、サーバー コントロールに関する情報を収集し、これを表示するために Trace プロパティに渡します。 ( Control から継承されます。)
プロテクト メソッド ClearChildControlState  サーバー コントロールのすべての子コントロールについて、コントロールの状態情報を削除します。 ( Control から継承されます。)
プロテクト メソッド ClearChildState  サーバー コントロールのすべての子コントロールのビューステート情報およびコントロールの状態情報を削除します。 ( Control から継承されます。)
プロテクト メソッド ClearChildViewState  サーバー コントロールのすべての子コントロールのビューステート情報を削除します。 ( Control から継承されます。)
プロテクト メソッド CreateChildControls  ASP.NET ページ フレームワークによって呼び出され、コンポジション ベースの実装を使用するサーバー コントロールに、ポスト バックまたは表示のための準備として、格納する子コントロールを作成するように通知します。 ( Control から継承されます。)
プロテクト メソッド CreateControlCollection  子コントロールを格納するコレクションを作成します。 ( DataSourceControl から継承されます。)
プロテクト メソッド DataBind  オーバーロードされます。 呼び出されたサーバー コントロールと、そのすべての子コントロールにデータ ソースを連結します。 ( Control から継承されます。)
プロテクト メソッド DataBindChildren  データ ソースをサーバー コントロールの子コントロールにバインドします。 ( Control から継承されます。)
プロテクト メソッド EnsureChildControls  サーバー コントロールに子コントロールが含まれているかどうかを確認します。含まれていない場合、子コントロールを作成します。 ( Control から継承されます。)
プロテクト メソッド EnsureID  ID が割り当てられていないコントロールの ID を作成します。 ( Control から継承されます。)
プロテクト メソッド Finalize  Object がガベージ コレクションにより収集される前に、その Object がリソースを解放し、その他のクリーンアップ操作を実行できるようにします。 ( Object から継承されます。)
プロテクト メソッド FindControl  オーバーロードされます。 指定したサーバー コントロールの現在の名前付けコンテナを検索します。 ( Control から継承されます。)
プロテクト メソッド GetDesignModeState  コントロールのデザイン時データを取得します。 ( Control から継承されます。)
プロテクト メソッド GetView オーバーライドされます。 データ ソース コントロールに関連付けられた名前付きデータ ソース ビューを取得します。
プロテクト メソッド GetViewNames オーバーライドされます。 ObjectDataSource オブジェクトに関連付けられたビュー オブジェクトのリストを表す名前のコレクションを取得します。
プロテクト メソッド HasEvents  コントロールまたは子コントロールに対してイベントが登録されているかどうかを示す値を返します。 ( Control から継承されます。)
プロテクト メソッド IsLiteralContent  サーバー コントロールがリテラルな内容だけを保持しているかどうかを決定します。 ( Control から継承されます。)
プロテクト メソッド LoadControlState  SaveControlState メソッドによって保存された前回のページ要求からコントロールの状態情報を復元します。 ( Control から継承されます。)
プロテクト メソッド LoadViewState オーバーライドされます。 以前に保存した ObjectDataSource コントロールのビューステートを読み込みます。
プロテクト メソッド MapPathSecure  仮想パス (絶対パスまたは相対パス) の割り当て先の物理パスを取得します。 ( Control から継承されます。)
プロテクト メソッド MemberwiseClone  現在の Object の簡易コピーを作成します。 ( Object から継承されます。)
プロテクト メソッド OnBubbleEvent  サーバー コントロールのイベントをページの UI サーバー コントロールの階層構造に渡すかどうかを決定します。 ( Control から継承されます。)
プロテクト メソッド OnDataBinding  DataBinding イベントを発生させます。 ( Control から継承されます。)
プロテクト メソッド OnInit オーバーライドされます。 ObjectDataSource コントロールを格納するページに LoadComplete イベント ハンドラを追加します。
プロテクト メソッド OnLoad  Load イベントを発生させます。 ( Control から継承されます。)
プロテクト メソッド OnPreRender  PreRender イベントを発生させます。 ( Control から継承されます。)
プロテクト メソッド OnUnload  Unload イベントを発生させます。 ( Control から継承されます。)
プロテクト メソッド OpenFile  ファイルの読み込みで使用される Stream を取得します。 ( Control から継承されます。)
プロテクト メソッド RaiseBubbleEvent  イベントのソースおよびその情報をコントロールの親に割り当てます。 ( Control から継承されます。)
プロテクト メソッド RaiseDataSourceChangedEvent  DataSourceChanged イベントを発生させます。 ( DataSourceControl から継承されます。)
プロテクト メソッド RemovedControl  子コントロールが Control オブジェクトの Controls コレクションから削除された後に呼び出されます。 ( Control から継承されます。)
プロテクト メソッド Render  提供されたクライアントに表示される内容を書き込む HtmlTextWriter オブジェクトに、サーバー コントロールの内容を送信します。 ( Control から継承されます。)
プロテクト メソッド RenderChildren  クライアントに表示される内容の書き込みを行う、指定された HtmlTextWriter オブジェクトに、サーバー コントロールの子を出力します。 ( Control から継承されます。)
プロテクト メソッド RenderControl  オーバーロードされます。 サーバー コントロールの内容を出力し、トレースが有効である場合はコントロールに関するトレース情報を格納します。 ( Control から継承されます。)
プロテクト メソッド ResolveAdapter  指定したコントロールを表示するコントロール アダプタを取得します。 ( Control から継承されます。)
プロテクト メソッド SaveControlState  ページがサーバーにポスト バックされた時間以降に発生した、サーバー コントロールの状態の変更を保存します。 ( Control から継承されます。)
プロテクト メソッド SaveViewState オーバーライドされます。 ObjectDataSource コントロールの状態を保存します。
プロテクト メソッド SetDesignModeState  コントロールのデザイン時データを設定します。 ( Control から継承されます。)
プロテクト メソッド TrackViewState オーバーライドされます。 ObjectDataSource コントロールのビューステートの変更を追跡し、System.Web.UI.StateBag オブジェクトに格納できるようにします。
参照参照

関連項目

ObjectDataSource クラス
System.Web.UI.WebControls 名前空間
IDataSource
DataSourceControl
ObjectDataSourceView

ObjectDataSource メンバ

多階層 Web アプリケーション アーキテクチャで、データ バインド コントロールにデータを提供するビジネス オブジェクトを表します。

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


パブリック コンストラクタパブリック コンストラクタ
パブリック プロパティパブリック プロパティ
( プロテクト プロパティ も参照)
  名前 説明
パブリック プロパティ AppRelativeTemplateSourceDirectory  このコントロールが含まれている Page オブジェクトまたは UserControl オブジェクトのアプリケーション相対の仮想ディレクトリを取得または設定します。(Control から継承されます。)
パブリック プロパティ BindingContainer  このコントロールのデータ バインディングを格納しているコントロールを取得します。(Control から継承されます。)
パブリック プロパティ CacheDuration SelectMethod メソッドによって取得したデータを、データ ソース コントロールがキャッシュする時間 (秒単位) を取得または設定します。
パブリック プロパティ CacheExpirationPolicy 存続期間と組み合わせた場合の、データ ソース コントロールが使用するキャッシュの動作を記述するキャッシュの有効期限の動作を取得または設定します。
パブリック プロパティ CacheKeyDependency データ ソース コントロールによって作成されたすべてのデータ キャッシュ オブジェクトにリンクされる、ユーザー定義のキー依存関係を取得または設定します。
パブリック プロパティ ClientID  ASP.NET によって生成されたサーバー コントロール ID を取得します。(DataSourceControl から継承されます。)
パブリック プロパティ ConflictDetection Update メソッドに新しい値だけを渡すか、Update メソッドに新旧両方の値を渡すかを決定する値を取得または設定します。
パブリック プロパティ Controls  UI 階層構造の指定されたサーバー コントロールの子コントロールを表す ControlCollection オブジェクトを取得します。(DataSourceControl から継承されます。)
パブリック プロパティ ConvertNullToDBNull 更新、挿入、削除の各操作に渡される Parameter 値を、ObjectDataSource コントロールで null 参照 (Visual Basic では Nothing) から Value 値に自動的に変換するかどうかを示す値を取得または設定します。
パブリック プロパティ DataObjectTypeName ObjectDataSource コントロールが、データ バインド コントロールから個々の値を渡す代わりに、データの更新、挿入、削除の各操作のパラメータに使用するクラスの名前を取得または設定します。
パブリック プロパティ DeleteMethod ObjectDataSource コントロールがデータを削除するために呼び出すメソッドまたは関数の名前を取得または設定します。
パブリック プロパティ DeleteParameters DeleteMethod メソッドによって使用されるパラメータを格納するパラメータ コレクションを取得します。
パブリック プロパティ EnableCaching ObjectDataSource コントロールでデータ ャッシュが有効かどうかを示す値を取得または設定します。
パブリック プロパティ EnablePaging データ ソース コントロールが取得したデータ セットを使用するページングをサポートしているかどうかを示す値を取得または設定します。
パブリック プロパティ EnableTheming  このコントロールがテーマをサポートしているかどうかを示す値を取得します。(DataSourceControl から継承されます。)
パブリック プロパティ EnableViewState  サーバー コントロールが、そのビューステートおよび格納している子コントロールのビューステートを、要求しているクライアントに永続化させるかどうかを示す値を取得または設定します。(Control から継承されます。)
パブリック プロパティ FilterExpression SelectMethod プロパティで指定されたメソッドの呼び出し時に適用されるフィルタ式を取得または設定します。
パブリック プロパティ FilterParameters FilterExpression 文字列のパラメータ プレースホルダに関連付けられたパラメータのコレクションを取得します。
パブリック プロパティ ID  サーバー コントロールに割り当てられたプログラム ID を取得または設定します。(Control から継承されます。)
パブリック プロパティ InsertMethod ObjectDataSource コントロールがデータを挿入するために呼び出すメソッドまたは関数の名前を取得または設定します。
パブリック プロパティ InsertParameters InsertMethod メソッドによって使用されるパラメータを格納するパラメータ コレクションを取得します。
パブリック プロパティ MaximumRowsParameterName データ ソース ページングをサポートするために取得するレコード数を示す際に使用する、ビジネス オブジェクトのデータ取得メソッドのパラメータ名を取得または設定します。
パブリック プロパティ NamingContainer  同じ Control.ID プロパティ値を持つ複数のサーバー コントロールを区別するための一意の名前空間を作成する、サーバー コントロールの名前付けコンテナへの参照を取得します。(Control から継承されます。)
パブリック プロパティ OldValuesParameterFormatString Delete メソッドまたは Update メソッドに渡される元の値のパラメータ名に適用される書式指定文字列を取得または設定します。
パブリック プロパティ Page  サーバー コントロールを含んでいる Page インスタンスへの参照を取得します。(Control から継承されます。)
パブリック プロパティ Parent  ページ コントロールの階層構造における、サーバー コントロールの親コントロールへの参照を取得します。(Control から継承されます。)
パブリック プロパティ SelectCountMethod ObjectDataSource コントロールが行数を取得するために呼び出すメソッドまたは関数の名前を取得または設定します。
パブリック プロパティ SelectMethod ObjectDataSource コントロールがデータを取得するために呼び出すメソッドまたは関数の名前を取得または設定します。
パブリック プロパティ SelectParameters SelectMethod メソッドによって使用されるパラメータを格納するパラメータ コレクションを取得します。
パブリック プロパティ Site  デザイン サーフェイスに現在のコントロールを表示するときに、このコントロールをホストするコンテナに関する情報を取得します。(Control から継承されます。)
パブリック プロパティ SkinID  DataSourceControl コントロールに適用するスキンを取得します。(DataSourceControl から継承されます。)
パブリック プロパティ SortParameterName データ ソースの並べ替えをサポートするために、SelectMethod パラメータで並べ替え式を指定する際に使用したビジネス オブジェクトの名前を取得また設定します。
パブリック プロパティ SqlCacheDependency Microsoft SQL Server キャッシュの依存関係で使用するデータベースとテーブルを示す、セミコロンで区切られた文字列を取得または設定します。
パブリック プロパティ StartRowIndexParameterName データ ソース ページングをサポートするために取得する最初のレコードの識別子の値を示す際に使用する、データ取得メソッドのパラメータ名を取得または設定します。
パブリック プロパティ TemplateControl  このコントロールを格納しているテンプレートへの参照を取得または設定します。 (Control から継承されます。)
パブリック プロパティ TemplateSourceDirectory  現在のサーバー コントロールを格納している Page または UserControl の仮想ディレクトリを取得します。(Control から継承されます。)
パブリック プロパティ TypeName ObjectDataSource オブジェクトが表すクラスの名前を取得または設定します。
パブリック プロパティ UniqueID  階層構造で修飾されたサーバー コントロールの一意の ID を取得します。(Control から継承されます。)
パブリック プロパティ UpdateMethod ObjectDataSource コントロールがデータを更新するために呼び出すメソッドまたは関数の名前を取得または設定します。
パブリック プロパティ UpdateParameters UpdateMethod プロパティで指定されたメソッドによって使用されるパラメータを格納するパラメータ コレクションを取得します。
パブリック プロパティ Visible  コントロールが視覚的に表示されているかどうかを示す値を取得または設定します。(DataSourceControl から継承されます。)
プロテクト プロパティプロテクト プロパティ
  名前 説明
プロテクト プロパティ Adapter  コントロール用のブラウザ固有のアダプタを取得します。(Control から継承されます。)
プロテクト プロパティ ChildControlsCreated  サーバー コントロールの子コントロールが作成されたかどうかを示す値を取得します。(Control から継承されます。)
プロテクト プロパティ ClientIDSeparator  ClientID プロパティで使用される区切り記号を表す文字値を取得します。(Control から継承されます。)
プロテクト プロパティ Context  現在の Web 要求に対するサーバー コントロールに関連付けられている HttpContext オブジェクトを取得します。(Control から継承されます。)
プロテクト プロパティ DesignMode  コントロールがデザイン サーフェイスで使用されているかどうかを示す値を取得します。(Control から継承されます。)
プロテクト プロパティ Events  コントロールのイベント ハンドラ デリゲートのリストを取得します。このプロパティは読み取り専用です。(Control から継承されます。)
プロテクト プロパティ HasChildViewState  現在のサーバー コントロールの子コントロールが、保存されたビューステートの設定を持っているかどうかを示す値を取得します。(Control から継承されます。)
プロテクト プロパティ IdSeparator  コントロール ID を区別するために使用する文字を取得します。(Control から継承されます。)
プロテクト プロパティ IsChildControlStateCleared  このコントロールに含まれているコントロールに、コントロールの状態が設定されているかどうかを示す値を取得します。(Control から継承されます。)
プロテクト プロパティ IsTrackingViewState  サーバー コントロールがビューステートの変更を保存しているかどうかを示す値を取得します。(Control から継承されます。)
プロテクト プロパティ IsViewStateEnabled  このコントロールでビューステートが有効かどうかを示す値を取得します。(Control から継承されます。)
プロテクト プロパティ LoadViewStateByID  コントロールがインデックスではなく ID によりビューステートの読み込みを行うかどうかを示す値を取得します。 (Control から継承されます。)
プロテクト プロパティ ViewState  同一のページに対する複数の要求にわたって、サーバー コントロールのビューステートを保存し、復元できるようにする状態情報のディクショナリを取得します。(Control から継承されます。)
プロテクト プロパティ ViewStateIgnoresCase  StateBag オブジェクトが大文字小文字を区別しないかどうかを示す値を取得します。(Control から継承されます。)
パブリック メソッドパブリック メソッド
( プロテクト メソッド も参照)
  名前 説明
パブリック メソッド ApplyStyleSheetSkin  ページのスタイル シートに定義されたスタイル プロパティをコントロールに適用します。 (DataSourceControl から継承されます。)
パブリック メソッド DataBind  オーバーロードされます。 呼び出されたサーバー コントロールと、そのすべての子コントロールにデータ ソースを連結します。 (Control から継承されます。)
パブリック メソッド Delete DeleteParameters コレクション内のパラメータを持つ DeleteMethod プロパティで識別されるメソッドを呼び出して削除操作を実行します。
パブリック メソッド Dispose  サーバー コントロールが、メモリから解放される前に最終的なクリーンアップを実行できるようにします。 (Control から継承されます。)
パブリック メソッド Equals  オーバーロードされます。 2 つの Object インスタンスが等しいかどうかを判断します。 (Object から継承されます。)
パブリック メソッド FindControl  オーバーロードされます。 ( DataSourceControl から継承されます。)
パブリック メソッド Focus  コントロールに入力フォーカスを設定します。 (DataSourceControl から継承されます。)
パブリック メソッド GetHashCode  特定の型のハッシュ関数として機能します。GetHashCode は、ハッシュ アルゴリズムや、ハッシュ テーブルのようなデータ構造での使用に適しています。 (Object から継承されます。)
パブリック メソッド GetType  現在のインスタンスの Type を取得します。 (Object から継承されます。)
パブリック メソッド HasControls  サーバー コントロールに子コントロールが含まれているかどうかを確認します。 (DataSourceControl から継承されます。)
パブリック メソッド Insert InsertMethod プロパティと InsertParameters コレクション内のパラメータで識別されるメソッドを呼び出して挿入操作を実行します。
パブリック メソッド ReferenceEquals  指定した複数の Object インスタンスが同一かどうかを判断します。 (Object から継承されます。)
パブリック メソッド RenderControl  オーバーロードされます。 ( DataSourceControl から継承されます。)
パブリック メソッド ResolveClientUrl  ブラウザで使用できる URL を取得します。 (Control から継承されます。)
パブリック メソッド ResolveUrl  要求側クライアントで使用できる URL に変換します。 (Control から継承されます。)
パブリック メソッド Select SelectParameters コレクション内のパラメータを持つ SelectMethod プロパティで識別されるメソッドを呼び出して、基になるデータ ストレージからデータを取得します。
パブリック メソッド SetRenderMethodDelegate  サーバー コントロールとその内容を親コントロールに表示するイベント ハンドラ デリゲートを割り当てます。 (Control から継承されます。)
パブリック メソッド ToString  現在の Object を表す String を返します。 (Object から継承されます。)
パブリック メソッド Update UpdateMethod プロパティと UpdateParameters コレクション内のパラメータで識別されるメソッドを呼び出して更新操作を実行します。
プロテクト メソッドプロテクト メソッド
  名前 説明
プロテクト メソッド AddedControl  子コントロールが Control オブジェクトの Controls コレクションに追加された後に呼び出されます。 (Control から継承されます。)
プロテクト メソッド AddParsedSubObject  サーバー コントロールに、XML または HTML の要素が解析されたことを通知し、その要素をサーバー コントロールの ControlCollection オブジェクトに追加します。 (Control から継承されます。)
プロテクト メソッド BuildProfileTree  ページのトレースが有効な場合、サーバー コントロールに関する情報を収集し、これを表示するために Trace プロパティに渡します。 (Control から継承されます。)
プロテクト メソッド ClearChildControlState  サーバー コントロールのすべての子コントロールについて、コントロールの状態情報を削除します。 (Control から継承されます。)
プロテクト メソッド ClearChildState  サーバー コントロールのすべての子コントロールのビューステート情報およびコントロールの状態情報を削除します。 (Control から継承されます。)
プロテクト メソッド ClearChildViewState  サーバー コントロールのすべての子コントロールのビューステート情報を削除します。 (Control から継承されます。)
プロテクト メソッド CreateChildControls  ASP.NET ページ フレームワークによって呼び出され、コンポジション ベースの実装を使用するサーバー コントロールに、ポスト バックまたは表示のための準備として、格納する子コントロールを作成するように通知します。 (Control から継承されます。)
プロテクト メソッド CreateControlCollection  子コントロールを格納するコレクションを作成します。 (DataSourceControl から継承されます。)
プロテクト メソッド DataBind  オーバーロードされます。 呼び出されたサーバー コントロールと、そのすべての子コントロールにデータ ソースを連結します。 (Control から継承されます。)
プロテクト メソッド DataBindChildren  データ ソースをサーバー コントロールの子コントロールにバインドします。 (Control から継承されます。)
プロテクト メソッド EnsureChildControls  サーバー コントロールに子コントロールが含まれているかどうかを確認します。含まれていない場合、子コントロールを作成します。 (Control から継承されます。)
プロテクト メソッド EnsureID  ID が割り当てられていないコントロールの ID を作成します。 (Control から継承されます。)
プロテクト メソッド Finalize  Object がガベージ コレクションにより収集される前に、その Object がリソースを解放し、その他のクリーンアップ操作を実行できるようにします。 (Object から継承されます。)
プロテクト メソッド FindControl  オーバーロードされます。 指定したサーバー コントロールの現在の名前付けコンテナを検索します。 (Control から継承されます。)
プロテクト メソッド GetDesignModeState  コントロールのデザイン時データを取得します。 (Control から継承されます。)
プロテクト メソッド GetView オーバーライドされます。 データ ソース コントロールに関連付けられた名前付きデータ ソース ビューを取得します。
プロテクト メソッド GetViewNames オーバーライドされます。 ObjectDataSource オブジェクトに関連付けられたビュー オブジェクトのリストを表す名前のコレクションを取得します。
プロテクト メソッド HasEvents  コントロールまたは子コントロールに対してイベントが登録されているかどうかを示す値を返します。 (Control から継承されます。)
プロテクト メソッド IsLiteralContent  サーバー コントロールがリテラルな内容だけを保持しているかどうかを決定します。 (Control から継承されます。)
プロテクト メソッド LoadControlState  SaveControlState メソッドによって保存された前回のページ要求からコントロールの状態情報を復元します。 (Control から継承されます。)
プロテクト メソッド LoadViewState オーバーライドされます。 以前に保存した ObjectDataSource コントロールのビューステートを読み込みます。
プロテクト メソッド MapPathSecure  仮想パス (絶対パスまたは相対パス) の割り当て先の物理パスを取得します。 (Control から継承されます。)
プロテクト メソッド MemberwiseClone  現在の Object の簡易コピーを作成します。 (Object から継承されます。)
プロテクト メソッド OnBubbleEvent  サーバー コントロールのイベントをページの UI サーバー コントロールの階層構造に渡すかどうかを決定します。 (Control から継承されます。)
プロテクト メソッド OnDataBinding  DataBinding イベントを発生させます。 (Control から継承されます。)
プロテクト メソッド OnInit オーバーライドされます。 ObjectDataSource コントロールを格納するページに LoadComplete イベント ハンドラを追加します。
プロテクト メソッド OnLoad  Load イベントを発生させます。 (Control から継承されます。)
プロテクト メソッド OnPreRender  PreRender イベントを発生させます。 (Control から継承されます。)
プロテクト メソッド OnUnload  Unload イベントを発生させます。 (Control から継承されます。)
プロテクト メソッド OpenFile  ファイルの読み込みで使用される Stream を取得します。 (Control から継承されます。)
プロテクト メソッド RaiseBubbleEvent  イベントのソースおよびその情報をコントロールの親に割り当てます。 (Control から継承されます。)
プロテクト メソッド RaiseDataSourceChangedEvent  DataSourceChanged イベントを発生させます。 (DataSourceControl から継承されます。)
プロテクト メソッド RemovedControl  子コントロールが Control オブジェクトの Controls コレクションから削除された後に呼び出されます。 (Control から継承されます。)
プロテクト メソッド Render  提供されたクライアントに表示される内容を書き込む HtmlTextWriter オブジェクトに、サーバー コントロールの内容を送信します。 (Control から継承されます。)
プロテクト メソッド RenderChildren  クライアントに表示される内容の書き込みを行う、指定された HtmlTextWriter オブジェクトに、サーバー コントロールの子を出力します。 (Control から継承されます。)
プロテクト メソッド RenderControl  オーバーロードされます。 サーバー コントロールの内容を出力し、トレースが有効である場合はコントロールに関するトレース情報を格納します。 (Control から継承されます。)
プロテクト メソッド ResolveAdapter  指定したコントロールを表示するコントロール アダプタを取得します。 (Control から継承されます。)
プロテクト メソッド SaveControlState  ページがサーバーにポスト バックされた時間以降に発生した、サーバー コントロールの状態の変更を保存します。 (Control から継承されます。)
プロテクト メソッド SaveViewState オーバーライドされます。 ObjectDataSource コントロールの状態を保存します。
プロテクト メソッド SetDesignModeState  コントロールのデザイン時データを設定します。 (Control から継承されます。)
プロテクト メソッド TrackViewState オーバーライドされます。 ObjectDataSource コントロールのビューステートの変更を追跡し、System.Web.UI.StateBag オブジェクトに格納できるようにします。
パブリック イベントパブリック イベント
  名前 説明
パブリック イベント DataBinding  サーバー コントロールがデータ ソースに連結すると発生します。(Control から継承されます。)
パブリック イベント Deleted Delete 操作の完了時に発生します。
パブリック イベント Deleting Delete 操作の前に発生します。
パブリック イベント Disposed  サーバー コントロールがメモリから解放されると発生します。これは、ASP.NET ページが要求されている場合のサーバー コントロールの有効期間における最終段階です。(Control から継承されます。)
パブリック イベント Filtering フィルタ操作の前に発生します。
パブリック イベント Init  サーバー コントロールが初期化されると発生します。これは、サーバー コントロールの有効期間における最初の手順です。(Control から継承されます。)
パブリック イベント Inserted Insert 操作の完了時に発生します。
パブリック イベント Inserting Insert 操作の前に発生します。
パブリック イベント Load  サーバー コントロールが Page オブジェクトに読み込まれると発生します。(Control から継承されます。)
パブリック イベント ObjectCreated TypeName プロパティで識別されるオブジェクトが作成された後に発生します。
パブリック イベント ObjectCreating TypeName プロパティで識別されるオブジェクトが作成される前に発生します。
パブリック イベント ObjectDisposing TypeName プロパティで識別されるオブジェクトが破棄される前に発生します。
パブリック イベント PreRender  Control オブジェクトの読み込み後、表示を開始する前に発生します。(Control から継承されます。)
パブリック イベント Selected Select 操作の完了時に発生します。
パブリック イベント Selecting Select 操作の前に発生します。
パブリック イベント Unload  サーバー コントロールがメモリからアンロードされると発生します。(Control から継承されます。)
パブリック イベント Updated Update 操作の完了時に発生します。
パブリック イベント Updating Update 操作の前に発生します。
参照参照

関連項目

ObjectDataSource クラス
System.Web.UI.WebControls 名前空間
IDataSource
DataSourceControl
ObjectDataSourceView



英和和英テキスト翻訳

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

辞書ショートカット

すべての辞書の索引

「ObjectDataSource」の関連用語

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

   

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



ObjectDataSourceのページの著作権

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

©2026 GRAS Group, Inc.RSS