CustomExpression Classe

Definição

Fornece uma forma de especificar uma consulta LINQ personalizada que é chamada em resposta a um evento.

public ref class CustomExpression : System::Web::UI::WebControls::Expressions::ParameterDataSourceExpression
public class CustomExpression : System.Web.UI.WebControls.Expressions.ParameterDataSourceExpression
type CustomExpression = class
    inherit ParameterDataSourceExpression
Public Class CustomExpression
Inherits ParameterDataSourceExpression
Herança

Exemplos

O exemplo seguinte mostra como criar um CustomExpression objeto que é usado pelo QueryExtender controlo. A expressão personalizada chama o FilterProducts método, que contém uma expressão LINQ personalizada. O resultado da operação de filtragem é apresentado num GridView controlo.

O exemplo seguinte mostra um gestor de eventos que contém uma consulta LINQ personalizada. A expressão filtra a tabela de Produtos na base de dados AdventureWorks e mostra produtos cujo preço de lista é superior ou igual a $3.500,00.

using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Web.UI.WebControls.Expressions;
using System.Linq;

public partial class _Default : System.Web.UI.Page 
{
    protected void FilterProducts(object sender, CustomExpressionEventArgs e)
    {
        e.Query = from p in e.Query.Cast<Product>()
                  where p.ListPrice >= 3500
                  select p;
    }
}
Imports System.Collections.Generic
Imports System.Linq
Imports System.Web
Imports System.Web.UI
Imports System.Web.UI.WebControls
Imports System.Web.UI.WebControls.Expressions
Imports System.Data.Linq

Partial Class CustomVB
    Inherits System.Web.UI.Page

    Protected Sub FilterProducts(ByVal sender As Object, ByVal e As CustomExpressionEventArgs)
        e.Query = From p In e.Query.Cast(Of Product)() _
            Where p.ListPrice >= 3500 _
            Select p
    End Sub

Observações

A CustomExpression classe é usada com o QueryExtender controlo. O QueryExtender controlo suporta várias opções que pode usar para filtrar dados. O QueryExtender controlo suporta filtros que permitem pesquisar strings, valores de pesquisa entre um intervalo especificado, comparar um valor de propriedade numa tabela com um valor especificado e ordenar dados. Estas opções são fornecidas como expressões LINQ no QueryExtender controlo. Podes usar estas expressões de filtro ou podes fornecer uma expressão personalizada que podes usar no QueryExtender controlo. A CustomExpression classe permite-lhe especificar uma expressão personalizada na sua aplicação e chamá-la num gestor de eventos.

Note

Pode fornecer uma consulta personalizada chamada por um método em vez de um gestor de eventos usando a MethodExpression classe.

Construtores

Name Description
CustomExpression()

Inicializa uma nova instância da CustomExpression classe.

Propriedades

Name Description
Context

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

(Herdado de DataSourceExpression)
DataSource

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

(Herdado de DataSourceExpression)
IsTrackingViewState

Recebe um valor que indica se um objeto de expressão de fonte de dados está a acompanhar as alterações no estado da sua visualização.

(Herdado de DataSourceExpression)
Owner

Fica com o controlo do dono.

(Herdado de DataSourceExpression)
Parameters

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

(Herdado de ParameterDataSourceExpression)
ViewState

Obtém uma instância da StateBag classe que contém a informação atual do estado da vista.

(Herdado de DataSourceExpression)

Métodos

Name Description
Equals(Object)

Determina se o objeto especificado é igual ao objeto atual.

(Herdado de Object)
GetHashCode()

Serve como função de hash predefinida.

(Herdado de Object)
GetQueryable(IQueryable)

Fornece acesso ao objeto modificado IQueryable que a fonte de dados utiliza.

GetType()

Obtém o Type da instância atual.

(Herdado de Object)
LoadViewState(Object)

Carrega o estado dos valores no ParameterDataSourceExpression objeto que devem ser mantidos.

(Herdado de ParameterDataSourceExpression)
MemberwiseClone()

Cria uma cópia superficial do atual Object.

(Herdado de Object)
SaveViewState()

Guarda o estado atual da vista do ParameterDataSourceExpression objeto.

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

Executa a expressão usando o controlo do proprietário, contexto e fonte de dados especificados.

(Herdado de ParameterDataSourceExpression)
SetDirty()

Marca o DataSourceExpression objeto para que o seu estado seja guardado no estado de visualização.

(Herdado de DataSourceExpression)
ToString()

Devolve uma cadeia que representa o objeto atual.

(Herdado de Object)
TrackViewState()

Acompanha as alterações de estado de visualização do ParameterDataSourceExpression objeto para que as alterações possam ser armazenadas no StateBag objeto para o objeto.

(Herdado de ParameterDataSourceExpression)

evento

Name Description
Querying

Ocorre quando o IQueryable valor da fonte de dados é definido.

Implementações de Interface Explícita

Name Description
IStateManager.IsTrackingViewState

Quando implementado por uma classe, obtém um valor que indica se um objeto de expressão de fonte de dados está a acompanhar as alterações do estado da sua visualização.

(Herdado de DataSourceExpression)
IStateManager.LoadViewState(Object)

Quando implementado por uma classe, carrega o estado de visualização previamente guardado do objeto de expressão da fonte de dados.

(Herdado de DataSourceExpression)
IStateManager.SaveViewState()

Quando implementado por uma classe, guarda o estado atual da vista do DataSourceExpression objeto.

(Herdado de DataSourceExpression)
IStateManager.TrackViewState()

Quando implementado por uma classe, acompanha as alterações no estado da vista do DataSourceExpression objeto para que as alterações possam ser armazenadas no StateBag objeto para o objeto de expressão da fonte de dados.

(Herdado de DataSourceExpression)

Aplica-se a

Ver também