Freigeben über


CustomExpression Klasse

Definition

Bietet die Möglichkeit, eine benutzerdefinierte LINQ-Abfrage anzugeben, die als Antwort auf ein Ereignis aufgerufen wird.

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
Vererbung

Beispiele

Im folgenden Beispiel wird gezeigt, wie Sie ein CustomExpression Objekt erstellen, das vom QueryExtender Steuerelement verwendet wird. Der benutzerdefinierte Ausdruck ruft die FilterProducts Methode auf, die einen benutzerdefinierten LINQ-Ausdruck enthält. Das Ergebnis des Filtervorgangs wird in einem GridView Steuerelement angezeigt.

Im folgenden Beispiel wird ein Ereignishandler gezeigt, der eine benutzerdefinierte LINQ-Abfrage enthält. Der Ausdruck filtert die Produkttabelle in der AdventureWorks-Datenbank und zeigt Produkte an, die einen Listenpreis größer als oder gleich $3.500.00 haben.

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

Hinweise

Die CustomExpression Klasse wird mit dem QueryExtender Steuerelement verwendet. Das QueryExtender Steuerelement unterstützt eine Vielzahl von Optionen, mit denen Sie Daten filtern können. Das QueryExtender Steuerelement unterstützt Filter, mit denen Sie Zeichenfolgen durchsuchen, Suchwerte zwischen einem angegebenen Bereich durchsuchen, einen Eigenschaftswert in einer Tabelle mit einem angegebenen Wert vergleichen und Daten sortieren können. Diese Optionen werden als LINQ-Ausdrücke im QueryExtender Steuerelement bereitgestellt. Sie können diese Filterausdrücke verwenden oder einen benutzerdefinierten Ausdruck bereitstellen, den QueryExtender Sie im Steuerelement verwenden können. Mit der CustomExpression Klasse können Sie einen benutzerdefinierten Ausdruck in Ihrer Anwendung angeben und ihn in einem Ereignishandler aufrufen.

Hinweis

Sie können eine benutzerdefinierte Abfrage bereitstellen, die von einer Methode anstelle eines Ereignishandlers aufgerufen wird, indem Sie die MethodExpression Klasse verwenden.

Konstruktoren

CustomExpression()

Initialisiert eine neue Instanz der CustomExpression-Klasse.

Eigenschaften

Context

Ruft die HttpContext-Instanz des Besitzersteuerelements ab.

(Geerbt von DataSourceExpression)
DataSource

Ruft das Datenquellenobjekt ab, das dem Besitzersteuerelement zugeordnet ist.

(Geerbt von DataSourceExpression)
IsTrackingViewState

Ruft einen Wert ab, der angibt, ob die Änderungen des Ansichtszustands durch ein Datenquellen-Ausdrucksobjekt verfolgt werden.

(Geerbt von DataSourceExpression)
Owner

Ruft das Besitzersteuerelement ab.

(Geerbt von DataSourceExpression)
Parameters

Ruft die Parameter ab, die diesem DataSourceExpression-Objekt zugeordnet sind.

(Geerbt von ParameterDataSourceExpression)
ViewState

Ruft eine Instanz der StateBag-Klasse ab, die die aktuellen Informationen zum Ansichtszustand enthält.

(Geerbt von DataSourceExpression)

Methoden

Equals(Object)

Bestimmt, ob das angegebene Objekt gleich dem aktuellen Objekt ist.

(Geerbt von Object)
GetHashCode()

Fungiert als Standardhashfunktion.

(Geerbt von Object)
GetQueryable(IQueryable)

Bietet Zugriff auf das geänderte IQueryable-Objekt, das von der Datenquelle verwendet wird.

GetType()

Ruft den Type der aktuellen Instanz ab.

(Geerbt von Object)
LoadViewState(Object)

Lädt den Zustand der beizubehaltenden Werte im ParameterDataSourceExpression-Objekt.

(Geerbt von ParameterDataSourceExpression)
MemberwiseClone()

Erstellt eine flache Kopie des aktuellen Object.

(Geerbt von Object)
SaveViewState()

Speichert den aktuellen Ansichtszustand des ParameterDataSourceExpression-Objekts.

(Geerbt von ParameterDataSourceExpression)
SetContext(Control, HttpContext, IQueryableDataSource)

Führt den Ausdruck mit dem angegebenen Besitzersteuerelement, dem angegebenen Kontext und der angegebenen Datenquelle aus.

(Geerbt von ParameterDataSourceExpression)
SetDirty()

Markiert das DataSourceExpression-Objekt, sodass sein Zustand im Ansichtszustand gespeichert wird.

(Geerbt von DataSourceExpression)
ToString()

Gibt eine Zeichenfolge zurück, die das aktuelle Objekt darstellt.

(Geerbt von Object)
TrackViewState()

Verfolgt Änderungen des Ansichtszustands des ParameterDataSourceExpression-Objekts, sodass die Änderungen im StateBag-Objekt für das Objekt gespeichert werden können.

(Geerbt von ParameterDataSourceExpression)

Ereignisse

Querying

Tritt ein, wenn der IQueryable-Datenquellenwert festgelegt wird.

Explizite Schnittstellenimplementierungen

IStateManager.IsTrackingViewState

Ruft bei der Implementierung durch eine Klasse einen Wert ab, der angibt, ob die Änderungen des Ansichtszustands durch ein Datenquellen-Ausdrucksobjekt verfolgt werden.

(Geerbt von DataSourceExpression)
IStateManager.LoadViewState(Object)

Bei einer Implementierung durch eine Klasse wird der zuvor gespeicherte Ansichtszustand des Datenquellen-Ausdrucksobjekts geladen.

(Geerbt von DataSourceExpression)
IStateManager.SaveViewState()

Speichert bei der Implementierung durch eine Klasse den aktuellen Ansichtszustand des DataSourceExpression-Objekts.

(Geerbt von DataSourceExpression)
IStateManager.TrackViewState()

Verfolgt bei der Implementierung durch eine Klasse die Änderungen des Ansichtszustands des DataSourceExpression-Objekts, sodass die Änderungen im StateBag-Objekt für das Datenquellen-Ausdrucksobjekt gespeichert werden können.

(Geerbt von DataSourceExpression)

Gilt für

Siehe auch