MethodExpression Classe

Definição

Oferece uma maneira de especificar uma consulta LINQ personalizada definida em um método.Provides a way to specify a custom LINQ query that is defined in a method.

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
Herança

Exemplos

O exemplo a seguir mostra como pesquisar o campo ListPrice da tabela Products no banco de dados AdventureWorks para produtos que têm um preço de lista de 400 ou mais.The following example shows how to search the ListPrice field of the Products table in the AdventureWorks database for products that have a list price of 400 or more. Este exemplo mostra como criar uma consulta LINQ personalizada em um método no código de página e como invocar o método no QueryExtender controle.This example shows how to create a custom LINQ query in a method in page code and how to invoke the method in the 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;  

    }  

O exemplo a seguir mostra como chamar o método na página.The following example shows how to call the method in the page.

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

Comentários

O QueryExtender controle dá suporte a consultas LINQ personalizadas.The QueryExtender control supports custom LINQ queries. Você pode definir uma consulta LINQ personalizada em um método e usar a MethodExpression opção de filtro para invocar a consulta no QueryExtender controle.You can define a custom LINQ query in a method and use the MethodExpression filter option to invoke the query in the QueryExtender control.

O método que contém a consulta LINQ personalizada deve atender aos seguintes critérios:The method that contains the custom LINQ query must meet the following criteria:

O MethodExpression procura o método que contém a consulta na seguinte ordem:The MethodExpression searches for the method that contains the query in the following order:

  1. Se uma TypeName propriedade for especificada no QueryExtender controle, o MethodExpression objeto procurará o método no tipo especificado.If a TypeName property is specified in the QueryExtender control, the MethodExpression object looks for the method in the specified type.

  2. Se a fonte de dados IDynamicDataSource for implementada, o método procurará o método no tipo de contexto ( DataContext ou ObjectContext objeto).If the data source implements IDynamicDataSource, the method looks for the method on the context type (DataContext or ObjectContext object.)

  3. O método procura o método em um controle de modelo, na classe base da página ou em um controle de usuário.The method looks for the method in a template control, in the base class for the page, or in a user control.

A MethodExpression classe é como a CustomExpression classe, exceto que a expressão do método é executada em resposta a uma chamada de método e a expressão personalizada é executada em resposta a um evento.The MethodExpression class is like the CustomExpression class except that the method expression is executed in response to a method call, and the custom expression is executed in response to an event.

Construtores

MethodExpression()

Inicializa uma nova instância da classe MethodExpression.Initializes a new instance of the MethodExpression class.

Propriedades

Context

Obtém a instância HttpContext do controle de proprietário.Gets the HttpContext instance of the owner control.

(Herdado de DataSourceExpression)
DataSource

Obtém o objeto de fonte de dados associado ao controle de proprietário.Gets the data source object that is associated with the owner control.

(Herdado de DataSourceExpression)
IgnoreIfNotFound

Obtém ou define um valor que indica se a expressão deve ser ignorada.Gets or sets a value that indicates whether the expression should be ignored.

IsTrackingViewState

Obtém um valor que indica se um objeto de expressão da fonte de dados está controlando suas alterações de estado de exibição.Gets a value that indicates whether a data source expression object is tracking its view state changes.

(Herdado de DataSourceExpression)
MethodName

Obtém ou define o nome do método que contém uma consulta LINQ personalizada.Gets or sets the name of the method that contains a custom LINQ query.

Owner

Obtém o controle de proprietário.Gets the owner control.

(Herdado de DataSourceExpression)
Parameters

Obtém os parâmetros associados a este objeto DataSourceExpression.Gets the parameters that are associated with this DataSourceExpression object.

(Herdado de ParameterDataSourceExpression)
TypeName

Obtém ou define a classe cujo método contém a consulta personalizada.Gets or sets the class whose method contains the custom query.

ViewState

Obtém uma instância da classe StateBag que contém informações atuais de estado de exibição.Gets an instance of the StateBag class that contains the current view state information.

(Herdado de DataSourceExpression)

Métodos

Equals(Object)

Determina se o objeto especificado é igual ao objeto atual.Determines whether the specified object is equal to the current object.

(Herdado de Object)
GetHashCode()

Serve como a função de hash padrão.Serves as the default hash function.

(Herdado de Object)
GetQueryable(IQueryable)

Resolve a expressão usando o objeto IQueryable especificado.Resolves the expression by using the specified IQueryable object.

GetType()

Obtém o Type da instância atual.Gets the Type of the current instance.

(Herdado de Object)
LoadViewState(Object)

Carrega o estado dos valores no objeto ParameterDataSourceExpression que deve ser persistente.Loads the state of the values in the ParameterDataSourceExpression object that must be persisted.

(Herdado de ParameterDataSourceExpression)
MemberwiseClone()

Cria uma cópia superficial do Object atual.Creates a shallow copy of the current Object.

(Herdado de Object)
SaveViewState()

Salva o estado de exibição atual do objeto ParameterDataSourceExpression.Saves the current view state of the ParameterDataSourceExpression object.

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

Executa a expressão usando o controle de proprietário, o contexto e a fonte de dados especificados.Executes the expression by using the specified owner control, context, and data source.

(Herdado de ParameterDataSourceExpression)
SetDirty()

Marca o objeto DataSourceExpression para que seu estado seja salvo no estado de exibição.Marks the DataSourceExpression object so that its state will be saved in view state.

(Herdado de DataSourceExpression)
ToString()

Retorna uma cadeia de caracteres que representa o objeto atual.Returns a string that represents the current object.

(Herdado de Object)
TrackViewState()

Controla as alterações de estado de exibição no objeto ParameterDataSourceExpression de modo as alterações possam ser armazenadas no objeto StateBag para o objeto.Tracks view-state changes of the ParameterDataSourceExpression object so that the changes can be stored in the StateBag object for the object.

(Herdado de ParameterDataSourceExpression)

Implantações explícitas de interface

IStateManager.IsTrackingViewState

Quando implementado por uma classe, obtém um valor que indica se um objeto de expressão da fonte de dados está controlando suas alterações de estado de exibição.When implemented by a class, gets a value that indicates whether a data source expression object is tracking its view state changes.

(Herdado de DataSourceExpression)
IStateManager.LoadViewState(Object)

Quando implementado por uma classe, carrega o estado de exibição salvo anteriormente do objeto de expressão da fonte de dados.When implemented by a class, loads the previously saved view state of the data source expression object.

(Herdado de DataSourceExpression)
IStateManager.SaveViewState()

Quando implementado por uma classe, salva o estado de exibição atual do objeto DataSourceExpression.When implemented by a class, saves the current view state of the DataSourceExpression object.

(Herdado de DataSourceExpression)
IStateManager.TrackViewState()

Quando implementado por uma classe, controla as alterações de estado de exibição do objeto DataSourceExpression, de modo que as alterações possam ser armazenadas no objeto StateBag para o objeto de expressão da fonte de dados.When implemented by a class, tracks view state changes of the DataSourceExpression object so that the changes can be stored in the StateBag object for the data source expression object.

(Herdado de DataSourceExpression)

Aplica-se a