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属性,则对象将MethodExpression查找指定类型中的 QueryExtender 方法。

  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)

适用于