CustomExpression Classe
Definição
Importante
Algumas informações dizem respeito a um produto pré-lançado que pode ser substancialmente modificado antes de ser lançado. A Microsoft não faz garantias, de forma expressa ou implícita, em relação à informação aqui apresentada.
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) |