MethodExpression Classe

Definição

Oferece uma maneira de especificar uma consulta LINQ personalizada definida em um 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
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. 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.

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.

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

O método que contém a consulta LINQ personalizada deve atender aos seguintes critérios:

O MethodExpression procura o método que contém a consulta na seguinte ordem:

  1. Se uma TypeName propriedade for especificada no QueryExtender controle, o MethodExpression objeto procurará o método no tipo especificado.

  2. Se a fonte de dados IDynamicDataSource for implementada, o método procurará o método no tipo de contexto ( DataContext ou ObjectContext objeto).

  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.

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.

Construtores

MethodExpression()

Inicializa uma nova instância da classe MethodExpression.

Propriedades

Context

Obtém a instância HttpContext do controle de proprietário.

(Herdado de DataSourceExpression)
DataSource

Obtém o objeto de fonte de dados associado ao controle de proprietário.

(Herdado de DataSourceExpression)
IgnoreIfNotFound

Obtém ou define um valor que indica se a expressão deve ser ignorada.

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.

(Herdado de DataSourceExpression)
MethodName

Obtém ou define o nome do método que contém uma consulta LINQ personalizada.

Owner

Obtém o controle de proprietário.

(Herdado de DataSourceExpression)
Parameters

Obtém os parâmetros associados a este objeto DataSourceExpression.

(Herdado de ParameterDataSourceExpression)
TypeName

Obtém ou define a classe cujo método contém a consulta personalizada.

ViewState

Obtém uma instância da classe StateBag que contém informações atuais de estado de exibição.

(Herdado de DataSourceExpression)

Métodos

Equals(Object)

Determina se o objeto especificado é igual ao objeto atual.

(Herdado de Object)
GetHashCode()

Serve como a função de hash padrão.

(Herdado de Object)
GetQueryable(IQueryable)

Resolve a expressão usando o objeto IQueryable especificado.

GetType()

Obtém o Type da instância atual.

(Herdado de Object)
LoadViewState(Object)

Carrega o estado dos valores no objeto ParameterDataSourceExpression que deve ser persistente.

(Herdado de ParameterDataSourceExpression)
MemberwiseClone()

Cria uma cópia superficial do Object atual.

(Herdado de Object)
SaveViewState()

Salva o estado de exibição atual do objeto ParameterDataSourceExpression.

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

(Herdado de ParameterDataSourceExpression)
SetDirty()

Marca o objeto DataSourceExpression para que seu estado seja salvo no estado de exibição.

(Herdado de DataSourceExpression)
ToString()

Retorna uma cadeia de caracteres que representa o objeto atual.

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

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

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

(Herdado de DataSourceExpression)
IStateManager.SaveViewState()

Quando implementado por uma classe, salva o estado de exibição atual do objeto DataSourceExpression.

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

(Herdado de DataSourceExpression)

Aplica-se a