次の方法で共有


ObjectDataSourceView.SelectMethod プロパティ

定義

データを取得するために ObjectDataSourceView コントロールが呼び出すメソッドまたは関数の名前を取得または設定します。

public:
 property System::String ^ SelectMethod { System::String ^ get(); void set(System::String ^ value); };
public string SelectMethod { get; set; }
member this.SelectMethod : string with get, set
Public Property SelectMethod As String

プロパティ値

データを取得するために ObjectDataSourceView が使用するメソッドまたは関数の名前を表す文字列。 既定値は、空の文字列 ("") です。

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

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

    </form>
  </body>
</html>
<%@ Register TagPrefix="aspSample" Namespace="Samples.AspNet.VB" Assembly="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">
<html xmlns="http://www.w3.org/1999/xhtml" >
  <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>

注釈

指定したメソッドは任意のメソッド シグネチャを持つことができますが、コントロールが正常に呼び出すには ObjectDataSource 、次の表に示す型のいずれかを返す必要があります

の戻り値の型 : 操作
IEnumerable IEnumerableは メソッドによってSelect返されます。
DataTable DataViewは を使用してDataTable作成され、 メソッドによってSelect返されます。
DataSet の最初 DataTableDataSet が抽出され、 DataView が作成され、 Select メソッドによって返されます。
Object オブジェクトは 1 要素 IEnumerable でラップされ、 メソッドによって Select 返されます。

プロパティで SelectMethod 識別されるメソッドには、インスタンス メソッドまたは static (Shared Visual Basic の場合は ) メソッドを指定できます。 インスタンス メソッドの場合は、メソッドが呼び出されるたびにビジネス オブジェクトが作成され、破棄されます SelectMethod 。 プロパティで指定されたメソッドが ObjectCreated 呼び出される前に、イベントを処理してビジネス オブジェクトを SelectMethod 操作できます。 プロパティで指定されたメソッドが ObjectDisposing 呼び出された後に発生するイベントを SelectMethod 処理することもできます。 (Dispose は、ビジネス オブジェクトが インターフェイスを実装している IDisposable 場合にのみ呼び出されます)。メソッドが static (Shared Visual Basic の場合) メソッドの場合、ビジネス オブジェクトは作成されません。これらのイベントは処理できません。

コントロールが操作するビジネス オブジェクトが ObjectDataSource 同じ名前 (メソッド オーバーロード) を持つ複数のメソッドまたは関数を実装している場合、データ ソース コントロールは、コレクション内 SelectParameters のパラメーターを含む一連の条件に従って正しいメソッドを呼び出そうとします。 コレクション内のパラメーターが SelectParameters 、 プロパティで SelectMethod 指定されたメソッドのシグネチャと一致しない場合、データ ソースは例外をスローします。

詳細については、「ObjectDataSource.SelectMethod」を参照してください。

適用対象

こちらもご覧ください