Udostępnij za pośrednictwem


CustomExpression Klasa

Definicja

Zapewnia sposób określania niestandardowego zapytania LINQ wywoływanego w odpowiedzi na zdarzenie.

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
Dziedziczenie

Przykłady

W poniższym przykładzie pokazano, jak utworzyć CustomExpression obiekt używany przez kontrolkę QueryExtender . Wyrażenie niestandardowe wywołuje metodę FilterProducts zawierającą niestandardowe wyrażenie LINQ. Wynik operacji filtrowania jest wyświetlany w kontrolce GridView .

W poniższym przykładzie przedstawiono procedurę obsługi zdarzeń zawierającą niestandardowe zapytanie LINQ. Wyrażenie filtruje tabelę Product w bazie danych AdventureWorks i wyświetla produkty, które mają cenę wyższą niż lub równą 3500,00 USD.

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

Uwagi

Klasa CustomExpression jest używana z kontrolką QueryExtender . Kontrolka QueryExtender obsługuje różne opcje, których można użyć do filtrowania danych. Kontrolka QueryExtender obsługuje filtry, które umożliwiają wyszukiwanie ciągów, wyszukiwanie wartości między określonym zakresem, porównywanie wartości właściwości w tabeli z określoną wartością i sortowanie danych. Te opcje są udostępniane jako wyrażenia LINQ w kontrolce QueryExtender . Możesz użyć tych wyrażeń filtru lub podać wyrażenie niestandardowe, którego można użyć w kontrolce QueryExtender . Klasa CustomExpression umożliwia określenie wyrażenia niestandardowego w aplikacji i wywoływanie go w procedurze obsługi zdarzeń.

Uwaga

Możesz podać zapytanie niestandardowe wywoływane przez metodę zamiast procedury obsługi zdarzeń przy użyciu MethodExpression klasy .

Konstruktory

CustomExpression()

Inicjuje nowe wystąpienie klasy CustomExpression.

Właściwości

Context

Pobiera HttpContext wystąpienie kontrolki właściciela.

(Odziedziczone po DataSourceExpression)
DataSource

Pobiera obiekt źródła danych, który jest skojarzony z kontrolą właściciela.

(Odziedziczone po DataSourceExpression)
IsTrackingViewState

Pobiera wartość, która wskazuje, czy obiekt wyrażenia źródła danych śledzi zmiany stanu widoku.

(Odziedziczone po DataSourceExpression)
Owner

Pobiera kontrolę właściciela.

(Odziedziczone po DataSourceExpression)
Parameters

Pobiera parametry, które są skojarzone z tym DataSourceExpression obiektem.

(Odziedziczone po ParameterDataSourceExpression)
ViewState

Pobiera wystąpienie StateBag klasy, która zawiera informacje o bieżącym stanie widoku.

(Odziedziczone po DataSourceExpression)

Metody

Equals(Object)

Określa, czy dany obiekt jest taki sam, jak bieżący obiekt.

(Odziedziczone po Object)
GetHashCode()

Służy jako domyślna funkcja skrótu.

(Odziedziczone po Object)
GetQueryable(IQueryable)

Zapewnia dostęp do zmodyfikowanego IQueryable obiektu używanego przez źródło danych.

GetType()

Type Pobiera wartość bieżącego wystąpienia.

(Odziedziczone po Object)
LoadViewState(Object)

Ładuje stan wartości w ParameterDataSourceExpression obiekcie, który musi być utrwalony.

(Odziedziczone po ParameterDataSourceExpression)
MemberwiseClone()

Tworzy płytkią kopię bieżącego Objectelementu .

(Odziedziczone po Object)
SaveViewState()

Zapisuje bieżący stan widoku ParameterDataSourceExpression obiektu.

(Odziedziczone po ParameterDataSourceExpression)
SetContext(Control, HttpContext, IQueryableDataSource)

Wykonuje wyrażenie przy użyciu określonej kontrolki właściciela, kontekstu i źródła danych.

(Odziedziczone po ParameterDataSourceExpression)
SetDirty()

Oznacza DataSourceExpression obiekt tak, aby jego stan został zapisany w stanie widoku.

(Odziedziczone po DataSourceExpression)
ToString()

Zwraca ciąg reprezentujący bieżący obiekt.

(Odziedziczone po Object)
TrackViewState()

Śledzi zmiany stanu widoku obiektu, dzięki czemu zmiany ParameterDataSourceExpression mogą być przechowywane w StateBag obiekcie dla obiektu.

(Odziedziczone po ParameterDataSourceExpression)

Zdarzenia

Querying

Występuje, gdy wartość źródła danych jest ustawiona IQueryable .

Jawne implementacje interfejsu

IStateManager.IsTrackingViewState

W przypadku zaimplementowania przez klasę pobiera wartość, która wskazuje, czy obiekt wyrażenia źródła danych śledzi zmiany stanu widoku.

(Odziedziczone po DataSourceExpression)
IStateManager.LoadViewState(Object)

W przypadku zaimplementowania przez klasę program ładuje wcześniej zapisany stan widoku obiektu wyrażenia źródła danych.

(Odziedziczone po DataSourceExpression)
IStateManager.SaveViewState()

W przypadku zaimplementowania przez klasę zapisuje bieżący stan widoku DataSourceExpression obiektu.

(Odziedziczone po DataSourceExpression)
IStateManager.TrackViewState()

Gdy są implementowane przez klasę, śledzi zmiany stanu widoku obiektu, dzięki czemu zmiany mogą być przechowywane w obiekcie dla DataSourceExpression StateBag obiektu wyrażenia źródła danych.

(Odziedziczone po DataSourceExpression)

Dotyczy

Zobacz też