CustomExpression 類別

定義

提供方法來指定要呼叫以回應事件的自訂 LINQ 查詢。

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

範例

下列範例示範如何建立 CustomExpression 控制項所使用的 QueryExtender 物件。 自訂表格達式會呼叫 FilterProducts 方法,其中包含自訂 LINQ 運算式。 篩選作業的結果會顯示在 控制項中 GridView

下列範例顯示包含自訂 LINQ 查詢的事件處理常式。 運算式會篩選 AdventureWorks 資料庫中的 Product 資料表,並顯示價格大於或等於 $3,500.00 的產品。

using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Web.UI.WebControls.Expressions;
using System.Linq;

public partial class _Default : System.Web.UI.Page 
{
    protected void FilterProducts(object sender, CustomExpressionEventArgs e)
    {
        e.Query = from p in e.Query.Cast<Product>()
                  where p.ListPrice >= 3500
                  select p;
    }
}
Imports System.Collections.Generic
Imports System.Linq
Imports System.Web
Imports System.Web.UI
Imports System.Web.UI.WebControls
Imports System.Web.UI.WebControls.Expressions
Imports System.Data.Linq

Partial Class CustomVB
    Inherits System.Web.UI.Page

    Protected Sub FilterProducts(ByVal sender As Object, ByVal e As CustomExpressionEventArgs)
        e.Query = From p In e.Query.Cast(Of Product)() _
            Where p.ListPrice >= 3500 _
            Select p
    End Sub

備註

類別 CustomExpression 會與 控制項搭配 QueryExtender 使用。 控制項 QueryExtender 支援可用來篩選資料的各種選項。 QueryExtender控制項支援篩選準則,可讓您搜尋字串、在指定範圍之間搜尋值、比較資料表中的屬性值與指定的值,以及排序資料。 這些選項會在 控制項中 QueryExtender 以 LINQ 運算式的形式提供。 您可以使用這些篩選運算式,也可以提供可在 控制項中使用的 QueryExtender 自訂表格達式。 類別 CustomExpression 可讓您在應用程式中指定自訂表格達式,並在事件處理常式中呼叫它。

注意

您可以使用 類別,提供方法呼叫的自訂查詢,而不是事件處理常式 MethodExpression

建構函式

CustomExpression()

初始化 CustomExpression 類別的新執行個體。

屬性

Context

取得擁有者控制項的 HttpContext 執行個體。

(繼承來源 DataSourceExpression)
DataSource

取得與擁有者控制項相關聯的資料來源物件。

(繼承來源 DataSourceExpression)
IsTrackingViewState

取得值,這個值指出資料來源運算式物件是否正在追蹤其檢視狀態變更。

(繼承來源 DataSourceExpression)
Owner

取得擁有者控制項。

(繼承來源 DataSourceExpression)
Parameters

取得與這個 DataSourceExpression 物件相關聯的參數。

(繼承來源 ParameterDataSourceExpression)
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)

事件

Querying

發生於 IQueryable 資料來源值已設定時。

明確介面實作

IStateManager.IsTrackingViewState

當由類別實作時取得值,這個值指出資料來源運算式物件是否正在追蹤其檢視狀態變更。

(繼承來源 DataSourceExpression)
IStateManager.LoadViewState(Object)

當由類別實作時,載入資料來源運算式物件先前儲存的檢視狀態。

(繼承來源 DataSourceExpression)
IStateManager.SaveViewState()

當類別實作時,儲存 DataSourceExpression 物件的目前檢視狀態。

(繼承來源 DataSourceExpression)
IStateManager.TrackViewState()

當由類別實作時,追蹤 DataSourceExpression 物件的檢視狀態變更,以便該變更可針對資料來源運算式物件儲存到 StateBag 物件中。

(繼承來源 DataSourceExpression)

適用於

另請參閱