Comparteix a través de


MethodExpression Clase

Definición

Ofrece una manera de especificar una consulta LINQ personalizada que está definida en un método.

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
Herencia

Ejemplos

En el ejemplo siguiente se muestra cómo buscar en el campo ListPrice de la tabla Products de la base de datos AdventureWorks para productos que tienen un precio de lista de 400 o más. En este ejemplo se muestra cómo crear una consulta LINQ personalizada en un método en el código de página y cómo invocar el método en el QueryExtender control .

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;  

    }  

En el ejemplo siguiente se muestra cómo llamar al método en la página.

<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>  

Comentarios

El QueryExtender control admite consultas LINQ personalizadas. Puede definir una consulta LINQ personalizada en un método y usar la MethodExpression opción de filtro para invocar la consulta en el QueryExtender control.

El método que contiene la consulta LINQ personalizada debe cumplir los siguientes criterios:

Busca MethodExpression el método que contiene la consulta en el orden siguiente:

  1. Si se especifica una TypeName propiedad en el QueryExtender control , el MethodExpression objeto busca el método en el tipo especificado.

  2. Si el origen de datos implementa IDynamicDataSource, el método busca el método en el tipo de contexto (DataContext o ObjectContext object).

  3. El método busca el método en un control de plantilla, en la clase base de la página o en un control de usuario.

La MethodExpression clase es similar a la CustomExpression clase, excepto que la expresión de método se ejecuta en respuesta a una llamada de método y la expresión personalizada se ejecuta en respuesta a un evento.

Constructores

MethodExpression()

Inicializa una nueva instancia de la clase MethodExpression.

Propiedades

Context

Obtiene la instancia de HttpContext del control propietario.

(Heredado de DataSourceExpression)
DataSource

Obtiene el objeto de origen de datos asociado al control propietario.

(Heredado de DataSourceExpression)
IgnoreIfNotFound

Obtiene o establece un valor que indica si debe omitirse la expresión.

IsTrackingViewState

Obtiene un valor que indica si un objeto de expresión de origen de datos realiza un seguimiento de los cambios en su estado de vista.

(Heredado de DataSourceExpression)
MethodName

Obtiene o establece el nombre del método que contiene una consulta LINQ personalizada.

Owner

Obtiene el control propietario.

(Heredado de DataSourceExpression)
Parameters

Obtiene los parámetros asociados a este objeto DataSourceExpression.

(Heredado de ParameterDataSourceExpression)
TypeName

Obtiene o establece la clase cuyo método contiene la consulta personalizada.

ViewState

Obtiene una instancia de la clase StateBag que contiene información sobre el estado de vista actual.

(Heredado de DataSourceExpression)

Métodos

Equals(Object)

Determina si el objeto especificado es igual que el objeto actual.

(Heredado de Object)
GetHashCode()

Sirve como la función hash predeterminada.

(Heredado de Object)
GetQueryable(IQueryable)

Resuelve la expresión utilizando el objeto IQueryable especificado.

GetType()

Obtiene el Type de la instancia actual.

(Heredado de Object)
LoadViewState(Object)

Carga el estado de los valores del objeto ParameterDataSourceExpression que debe almacenarse.

(Heredado de ParameterDataSourceExpression)
MemberwiseClone()

Crea una copia superficial del Object actual.

(Heredado de Object)
SaveViewState()

Guarda el estado de vista actual del objeto ParameterDataSourceExpression.

(Heredado de ParameterDataSourceExpression)
SetContext(Control, HttpContext, IQueryableDataSource)

Ejecuta la expresión usando el control propietario, el contexto y el origen de datos especificados.

(Heredado de ParameterDataSourceExpression)
SetDirty()

Marca el objeto DataSourceExpression de modo que su estado se guarde en el estado de vista.

(Heredado de DataSourceExpression)
ToString()

Devuelve una cadena que representa el objeto actual.

(Heredado de Object)
TrackViewState()

Realiza un seguimiento de los cambios en el estado de vista del objeto ParameterDataSourceExpression para poder almacenarlos en el objeto StateBag del objeto.

(Heredado de ParameterDataSourceExpression)

Implementaciones de interfaz explícitas

IStateManager.IsTrackingViewState

Cuando se implementa mediante una clase, obtiene un valor que indica si un objeto de expresión de origen de datos realiza un seguimiento de los cambios en su estado de vista.

(Heredado de DataSourceExpression)
IStateManager.LoadViewState(Object)

Cuando se implementa mediante una clase, carga el estado de vista anteriormente guardado del objeto de expresión de origen de datos.

(Heredado de DataSourceExpression)
IStateManager.SaveViewState()

Cuando lo implementa una clase, guarda el estado de vista actual del objeto DataSourceExpression.

(Heredado de DataSourceExpression)
IStateManager.TrackViewState()

Cuando se implementa mediante una clase, realiza un seguimiento de los cambios en el estado de vista del objeto DataSourceExpression para que puedan almacenarse en el objeto StateBag del objeto de expresión de origen de datos.

(Heredado de DataSourceExpression)

Se aplica a