MethodExpression Classe
Definição
Importante
Algumas informações se referem a produtos de pré-lançamento que podem ser substancialmente modificados antes do lançamento. A Microsoft não oferece garantias, expressas ou implícitas, das informações aqui fornecidas.
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 método deve ser estático (
Shared
em Visual Basic). O primeiro parâmetro deve ser um IQueryable<T> IEnumerable<T> objeto ou. O método pode ter mais de um parâmetro.O valor de retorno não pode alterar o IQueryable<T> IEnumerable<T> tipo ou que é consultado.
O MethodExpression procura o método que contém a consulta na seguinte ordem:
Se uma TypeName propriedade for especificada no QueryExtender controle, o MethodExpression objeto procurará o método no tipo especificado.
Se a fonte de dados IDynamicDataSource for implementada, o método procurará o método no tipo de contexto ( DataContext ou ObjectContext objeto).
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) |