CustomExpression 類別
定義
重要
部分資訊涉及發行前產品,在發行之前可能會有大幅修改。 Microsoft 對此處提供的資訊,不做任何明確或隱含的瑕疵擔保。
提供方法來指定要呼叫以回應事件的自訂 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) |