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 数据库中的产品表,并显示标价大于或等于 $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)

适用于

另请参阅