Condividi tramite


CustomExpression Classe

Definizione

Fornisce un modo per specificare una query LINQ personalizzata che viene chiamata in risposta a un 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
Ereditarietà

Esempio

Nell'esempio seguente viene illustrato come creare un CustomExpression oggetto utilizzato dal QueryExtender controllo . L'espressione personalizzata chiama il FilterProducts metodo , che contiene un'espressione LINQ personalizzata. Il risultato dell'operazione di filtro viene visualizzato in un GridView controllo .

Nell'esempio seguente viene illustrato un gestore eventi che contiene una query LINQ personalizzata. L'espressione filtra la tabella Product nel database AdventureWorks e visualizza i prodotti con un prezzo di listino maggiore o uguale 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

Commenti

La CustomExpression classe viene utilizzata con il QueryExtender controllo . Il QueryExtender controllo supporta un'ampia gamma di opzioni che è possibile usare per filtrare i dati. Il QueryExtender controllo supporta filtri che consentono di cercare stringhe, cercare valori tra un intervallo specificato, confrontare un valore di proprietà in una tabella con un valore specificato e ordinare i dati. Queste opzioni vengono fornite come espressioni LINQ nel QueryExtender controllo . È possibile usare queste espressioni di filtro oppure fornire un'espressione personalizzata che è possibile usare nel QueryExtender controllo . La CustomExpression classe consente di specificare un'espressione personalizzata nell'applicazione e chiamarla in un gestore eventi.

Nota

È possibile fornire una query personalizzata chiamata da un metodo anziché da un gestore eventi usando la MethodExpression classe .

Costruttori

CustomExpression()

Inizializza una nuova istanza della classe CustomExpression.

Proprietà

Context

Ottiene l'istanza di HttpContext del controllo proprietario.

(Ereditato da DataSourceExpression)
DataSource

Ottiene l'oggetto origine dati associato al controllo proprietario.

(Ereditato da DataSourceExpression)
IsTrackingViewState

Ottiene un valore che indica se un oggetto espressione dell'origine dati tiene traccia delle modifiche dello stato di visualizzazione.

(Ereditato da DataSourceExpression)
Owner

Ottiene il controllo proprietario.

(Ereditato da DataSourceExpression)
Parameters

Ottiene i parametri associati a questo oggetto DataSourceExpression.

(Ereditato da ParameterDataSourceExpression)
ViewState

Ottiene un'istanza della classe StateBag che contiene le informazioni sullo stato di visualizzazione corrente.

(Ereditato da DataSourceExpression)

Metodi

Equals(Object)

Determina se l'oggetto specificato è uguale all'oggetto corrente.

(Ereditato da Object)
GetHashCode()

Funge da funzione hash predefinita.

(Ereditato da Object)
GetQueryable(IQueryable)

Fornisce l'accesso all'oggetto IQueryable modificato utilizzato dall'origine dati.

GetType()

Ottiene l'oggetto Type dell'istanza corrente.

(Ereditato da Object)
LoadViewState(Object)

Carica nell'oggetto ParameterDataSourceExpression lo stato dei valori che devono essere resi persistenti.

(Ereditato da ParameterDataSourceExpression)
MemberwiseClone()

Crea una copia superficiale dell'oggetto Object corrente.

(Ereditato da Object)
SaveViewState()

Salva lo stato di visualizzazione corrente dell'oggetto ParameterDataSourceExpression.

(Ereditato da ParameterDataSourceExpression)
SetContext(Control, HttpContext, IQueryableDataSource)

Esegue l'espressione utilizzando il controllo proprietario, il contesto e l'origine dati specificati.

(Ereditato da ParameterDataSourceExpression)
SetDirty()

Contrassegna l'oggetto DataSourceExpression in modo che il relativo stato venga salvato nello stato di visualizzazione.

(Ereditato da DataSourceExpression)
ToString()

Restituisce una stringa che rappresenta l'oggetto corrente.

(Ereditato da Object)
TrackViewState()

Tiene traccia delle modifiche dello stato di visualizzazione dell'oggetto ParameterDataSourceExpression in modo che possano essere archiviate nell'oggetto StateBag per l'oggetto stesso.

(Ereditato da ParameterDataSourceExpression)

Eventi

Querying

Si verifica quando viene impostato il valore dell'origine dati IQueryable.

Implementazioni dell'interfaccia esplicita

IStateManager.IsTrackingViewState

Quando implementato da una classe, ottiene un valore che indica se un oggetto espressione dell'origine dati tiene traccia delle modifiche dello stato di visualizzazione.

(Ereditato da DataSourceExpression)
IStateManager.LoadViewState(Object)

Quando implementato da una classe, carica lo stato di visualizzazione precedentemente salvato dell'oggetto espressione dell'origine dati.

(Ereditato da DataSourceExpression)
IStateManager.SaveViewState()

Quando viene implementato da una classe, salva lo stato di visualizzazione corrente dell'oggetto DataSourceExpression.

(Ereditato da DataSourceExpression)
IStateManager.TrackViewState()

Quando implementato da una classe, tiene traccia delle modifiche dello stato di visualizzazione dell'oggetto DataSourceExpression in modo che possano essere archiviate nell'oggetto StateBag per l'oggetto espressione dell'origine dati.

(Ereditato da DataSourceExpression)

Si applica a

Vedi anche