Compartir por


MethodExpression Clase

Definición

Proporciona una manera de especificar una consulta LINQ personalizada 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 opción de MethodExpression 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 objeto).

  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

Nombre Description
MethodExpression()

Inicializa una nueva instancia de la clase MethodExpression.

Propiedades

Nombre Description
Context

Obtiene la HttpContext instancia 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 se debe omitir 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 de 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 DataSourceExpression objeto.

(Heredado de ParameterDataSourceExpression)
TypeName

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

ViewState

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

(Heredado de DataSourceExpression)

Métodos

Nombre Description
Equals(Object)

Determina si el objeto especificado es igual al objeto actual.

(Heredado de Object)
GetHashCode()

Actúa como función hash predeterminada.

(Heredado de Object)
GetQueryable(IQueryable)

Resuelve la expresión mediante el objeto especificado IQueryable .

GetType()

Obtiene el Type de la instancia actual.

(Heredado de Object)
LoadViewState(Object)

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

(Heredado de ParameterDataSourceExpression)
MemberwiseClone()

Crea una copia superficial del Objectactual.

(Heredado de Object)
SaveViewState()

Guarda el estado de vista actual del ParameterDataSourceExpression objeto.

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

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

(Heredado de ParameterDataSourceExpression)
SetDirty()

Marca el DataSourceExpression objeto para que su estado se guarde en 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 de estado de vista del ParameterDataSourceExpression objeto para que los cambios se puedan almacenar en el StateBag objeto del objeto .

(Heredado de ParameterDataSourceExpression)

Implementaciones de interfaz explícitas

Nombre Description
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 de estado de vista.

(Heredado de DataSourceExpression)
IStateManager.LoadViewState(Object)

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

(Heredado de DataSourceExpression)
IStateManager.SaveViewState()

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

(Heredado de DataSourceExpression)
IStateManager.TrackViewState()

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

(Heredado de DataSourceExpression)

Se aplica a