次の方法で共有


MethodExpression クラス

定義

メソッドで定義されているカスタム LINQ クエリを指定する方法を提供します。

public ref class MethodExpression : System::Web::UI::WebControls::Expressions::ParameterDataSourceExpression
public class MethodExpression : System.Web.UI.WebControls.Expressions.ParameterDataSourceExpression
type MethodExpression = class
    inherit ParameterDataSourceExpression
Public Class MethodExpression
Inherits ParameterDataSourceExpression
継承

次の例は、AdventureWorks データベースの Products テーブルの ListPrice フィールドで、表示価格が 400 以上の製品を検索する方法を示しています。 この例では、ページ コード内のメソッドでカスタム LINQ クエリを作成する方法と、コントロールで メソッドを呼び出す方法を QueryExtender 示します。

Public Shared Function FilterStandardPrice(ByVal query As _  
        IQueryable(Of Product)) As IQueryable(Of Product)  
        Return From p In query _  
            Where p.ListPrice >= 400 _  
            Select p  
    End Function  
public static IQueryable<Product>   
        FilterStandardPrice(IQueryable<Product> query)  
{  
        return from p in query  
                  where p.ListPrice >= 400  
                  select p;  

    }  

次の例は、 ページで メソッドを呼び出す方法を示しています。

<html>  
<head runat="server">  
  <title>Custom Filter</title>  
</head>  
<body>  
  <form id="form1" runat="server">  
    <asp:LinqDataSource ID="LinqDataSource1" runat="server"   
        ContextTypeName="AdventureworksDataContext" EntityTypeName=""   
        TableName="Products">  
    </asp:LinqDataSource>  

    <asp:QueryExtender ID="QueryExtender1" runat="server"   
        TargetControlID="LinqDataSource1">  
      <asp:MethodExpression MethodName="FilterStandardPrice" >  
      </asp:MethodExpression>  
    </asp:QueryExtender>  

    <asp:GridView ID="GridView1" runat="server"   
        DataSourceID="LinqDataSource1"   
        DataKeyNames="ProductID"   
    </asp:GridView>  
  </form>  
</body>  
</html>  

注釈

コントロールは QueryExtender 、カスタム LINQ クエリをサポートします。 メソッドでカスタム LINQ クエリを定義し、フィルター オプションを MethodExpression 使用してコントロールでクエリを QueryExtender 呼び出すことができます。

カスタム LINQ クエリを含むメソッドは、次の条件を満たしている必要があります。

  • メソッドは静的である必要があります (Shared Visual Basic の場合)。 最初のパラメーターは または IQueryable<T>IEnumerable<T> オブジェクトである必要があります。 メソッドには、複数のパラメーターを指定できます。

  • 戻り値は、照会される IQueryable<T> 型または IEnumerable<T> 型を変更できません。

では MethodExpression 、クエリを含む メソッドを次の順序で検索します。

  1. コントロールに TypeNameQueryExtender プロパティが指定されている場合、 MethodExpression オブジェクトは指定した型の メソッドを検索します。

  2. データ ソースが を実装している IDynamicDataSource場合、 メソッドはコンテキスト型 (DataContext または ObjectContext オブジェクト) で メソッドを検索します。

  3. メソッドは、テンプレート コントロール、ページの基底クラス、またはユーザー コントロール内の メソッドを検索します。

クラスは MethodExpression クラスに似ています CustomExpression が、メソッド式はメソッド呼び出しに応答して実行され、カスタム式はイベントに応答して実行されます。

コンストラクター

MethodExpression()

MethodExpression クラスの新しいインスタンスを初期化します。

プロパティ

Context

所有者コントロールの HttpContext インスタンスを取得します。

(継承元 DataSourceExpression)
DataSource

所有者コントロールに関連付けられているデータ ソース オブジェクトを取得します。

(継承元 DataSourceExpression)
IgnoreIfNotFound

式を無視する必要があるかどうかを示す値を取得または設定します。

IsTrackingViewState

データ ソース式オブジェクトがビューステートの変更を追跡しているかどうかを示す値を取得します。

(継承元 DataSourceExpression)
MethodName

カスタム LINQ クエリを含むメソッドの名前を取得または設定します。

Owner

所有者コントロールを取得します。

(継承元 DataSourceExpression)
Parameters

この DataSourceExpression オブジェクトに関連付けられているパラメーターを取得します。

(継承元 ParameterDataSourceExpression)
TypeName

メソッドにカスタム クエリが含まれているクラスを取得または設定します。

ViewState

現在のビューステートの情報を格納している StateBag クラスのインスタンスを取得します。

(継承元 DataSourceExpression)

メソッド

Equals(Object)

指定されたオブジェクトが現在のオブジェクトと等しいかどうかを判断します。

(継承元 Object)
GetHashCode()

既定のハッシュ関数として機能します。

(継承元 Object)
GetQueryable(IQueryable)

指定された IQueryable オブジェクトを使用して、式を解決します。

GetType()

現在のインスタンスの Type を取得します。

(継承元 Object)
LoadViewState(Object)

永続化する必要がある ParameterDataSourceExpression オブジェクト内の値の状態を読み込みます。

(継承元 ParameterDataSourceExpression)
MemberwiseClone()

現在の Object の簡易コピーを作成します。

(継承元 Object)
SaveViewState()

ParameterDataSourceExpression オブジェクトの現在のビューステートを保存します。

(継承元 ParameterDataSourceExpression)
SetContext(Control, HttpContext, IQueryableDataSource)

指定された所有者コントロール、コンテキスト、およびデータ ソースを使用して、式を実行します。

(継承元 ParameterDataSourceExpression)
SetDirty()

DataSourceExpression オブジェクトの状態がビューステートで保存されるように、このオブジェクトをマークします。

(継承元 DataSourceExpression)
ToString()

現在のオブジェクトを表す文字列を返します。

(継承元 Object)
TrackViewState()

ParameterDataSourceExpression オブジェクトのビューステートの変更を追跡し、その変更をそのオブジェクトに対応する StateBag オブジェクトに格納できるようにします。

(継承元 ParameterDataSourceExpression)

明示的なインターフェイスの実装

IStateManager.IsTrackingViewState

クラスによって実装されると、データ ソース式オブジェクトがビューステートの変更を追跡しているかどうかを示す値を取得します。

(継承元 DataSourceExpression)
IStateManager.LoadViewState(Object)

クラスによって実装されると、データ ソース式オブジェクトの前回保存されたビューステートを読み込みます。

(継承元 DataSourceExpression)
IStateManager.SaveViewState()

クラスによって実装されると、DataSourceExpression オブジェクトの現在のビューステートを保存します。

(継承元 DataSourceExpression)
IStateManager.TrackViewState()

クラスによって実装されると、DataSourceExpression オブジェクトのビューステートの変更を追跡し、データ ソース式オブジェクトに対応する StateBag オブジェクトに、その変更を保存できるようにします。

(継承元 DataSourceExpression)

適用対象