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 查詢的方法必須符合下列準則:

MethodExpression 依下列順序搜尋包含查詢的方法:

  1. TypeName如果在 控制項中 QueryExtender 指定屬性,物件就會 MethodExpression 在指定的型別中尋找 方法。

  2. 如果資料來源實作 IDynamicDataSource ,此方法會在內容類型上尋找 方法, (DataContextObjectContext object.)

  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)

適用於