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