MethodExpression Klasa
Definicja
Ważne
Niektóre informacje odnoszą się do produktu w wersji wstępnej, który może zostać znacząco zmodyfikowany przed wydaniem. Firma Microsoft nie udziela żadnych gwarancji, jawnych lub domniemanych, w odniesieniu do informacji podanych w tym miejscu.
Umożliwia określenie niestandardowego zapytania LINQ zdefiniowanego w metodzie.
public ref class MethodExpression : System::Web::UI::WebControls::Expressions::ParameterDataSourceExpression
public class MethodExpression : System.Web.UI.WebControls.Expressions.ParameterDataSourceExpression
type MethodExpression = class
inherit ParameterDataSourceExpression
Public Class MethodExpression
Inherits ParameterDataSourceExpression
- Dziedziczenie
Przykłady
W poniższym przykładzie pokazano, jak przeszukać pole ListPrice tabeli Products w bazie danych AdventureWorks dla produktów, które mają cenę 400 lub więcej. W tym przykładzie pokazano, jak utworzyć niestandardowe zapytanie LINQ w metodzie w kodzie strony i jak wywołać metodę w kontrolce QueryExtender .
Public Shared Function FilterStandardPrice(ByVal query As _
IQueryable(Of Product)) As IQueryable(Of Product)
Return From p In query _
Where p.ListPrice >= 400 _
Select p
End Function
public static IQueryable<Product>
FilterStandardPrice(IQueryable<Product> query)
{
return from p in query
where p.ListPrice >= 400
select p;
}
W poniższym przykładzie pokazano, jak wywołać metodę na stronie.
<html>
<head runat="server">
<title>Custom Filter</title>
</head>
<body>
<form id="form1" runat="server">
<asp:LinqDataSource ID="LinqDataSource1" runat="server"
ContextTypeName="AdventureworksDataContext" EntityTypeName=""
TableName="Products">
</asp:LinqDataSource>
<asp:QueryExtender ID="QueryExtender1" runat="server"
TargetControlID="LinqDataSource1">
<asp:MethodExpression MethodName="FilterStandardPrice" >
</asp:MethodExpression>
</asp:QueryExtender>
<asp:GridView ID="GridView1" runat="server"
DataSourceID="LinqDataSource1"
DataKeyNames="ProductID"
</asp:GridView>
</form>
</body>
</html>
Uwagi
Kontrolka QueryExtender obsługuje niestandardowe zapytania LINQ. Niestandardowe zapytanie LINQ można zdefiniować w metodzie i użyć opcji filtru MethodExpression , aby wywołać zapytanie w kontrolce QueryExtender .
Metoda zawierająca niestandardowe zapytanie LINQ musi spełniać następujące kryteria:
Metoda musi być statyczna (
Shared
w Visual Basic). Pierwszy parametr musi być obiektem IQueryable<T> lub IEnumerable<T> . Metoda może mieć więcej niż jeden parametr.Wartość zwracana nie może zmienić IQueryable<T> typu lub IEnumerable<T> , którego dotyczy zapytanie.
Wyszukuje MethodExpression metodę zawierającą zapytanie w następującej kolejności:
TypeName Jeśli właściwość jest określona w kontrolceQueryExtender, MethodExpression obiekt szuka metody w określonym typie.
Jeśli źródło danych implementuje IDynamicDataSourcemetodę , metoda szuka metody w typie kontekstu (DataContext lub ObjectContext obiekcie).
Metoda wyszukuje metodę w kontrolce szablonu, w klasie bazowej strony lub w kontrolce użytkownika.
Klasa MethodExpression jest jak CustomExpression klasa, z tą różnicą, że wyrażenie metody jest wykonywane w odpowiedzi na wywołanie metody, a wyrażenie niestandardowe jest wykonywane w odpowiedzi na zdarzenie.
Konstruktory
MethodExpression() |
Inicjuje nowe wystąpienie klasy MethodExpression. |
Właściwości
Context |
HttpContext Pobiera wystąpienie kontrolki właściciela. (Odziedziczone po DataSourceExpression) |
DataSource |
Pobiera obiekt źródła danych skojarzony z kontrolką właściciela. (Odziedziczone po DataSourceExpression) |
IgnoreIfNotFound |
Pobiera lub ustawia wartość wskazującą, czy wyrażenie powinno być ignorowane. |
IsTrackingViewState |
Pobiera wartość wskazującą, czy obiekt wyrażenia źródła danych śledzi zmiany stanu widoku. (Odziedziczone po DataSourceExpression) |
MethodName |
Pobiera lub ustawia nazwę metody zawierającej niestandardowe zapytanie LINQ. |
Owner |
Pobiera kontrolę właściciela. (Odziedziczone po DataSourceExpression) |
Parameters |
Pobiera parametry skojarzone z tym DataSourceExpression obiektem. (Odziedziczone po ParameterDataSourceExpression) |
TypeName |
Pobiera lub ustawia klasę, której metoda zawiera zapytanie niestandardowe. |
ViewState |
Pobiera wystąpienie StateBag klasy zawierającej bieżące informacje o 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) |
Rozpoznaje wyrażenie przy użyciu określonego IQueryable obiektu. |
GetType() |
Type Pobiera bieżące wystąpienie. (Odziedziczone po Object) |
LoadViewState(Object) |
Ładuje stan wartości w ParameterDataSourceExpression obiekcie, który musi być utrwalany. (Odziedziczone po ParameterDataSourceExpression) |
MemberwiseClone() |
Tworzy płytkią kopię bieżącego Objectelementu . (Odziedziczone po Object) |
SaveViewState() |
Zapisuje bieżący stan ParameterDataSourceExpression widoku 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 obiekt tak DataSourceExpression , 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 ParameterDataSourceExpression stanu widoku obiektu, aby zmiany mogły być przechowywane w StateBag obiekcie dla obiektu. (Odziedziczone po ParameterDataSourceExpression) |
Jawne implementacje interfejsu
IStateManager.IsTrackingViewState |
Po zaimplementowaniu przez klasę pobiera wartość wskazującą, czy obiekt wyrażenia źródła danych śledzi zmiany stanu widoku. (Odziedziczone po DataSourceExpression) |
IStateManager.LoadViewState(Object) |
Po zaimplementowaniu przez klasę ładuje wcześniej zapisany stan widoku obiektu wyrażenia źródła danych. (Odziedziczone po DataSourceExpression) |
IStateManager.SaveViewState() |
Po zaimplementowaniu przez klasę zapisuje bieżący stan DataSourceExpression widoku obiektu. (Odziedziczone po DataSourceExpression) |
IStateManager.TrackViewState() |
Po zaimplementowaniu przez klasę śledzi zmiany DataSourceExpression stanu widoku obiektu, dzięki czemu zmiany mogą być przechowywane w StateBag obiekcie dla obiektu wyrażenia źródła danych. (Odziedziczone po DataSourceExpression) |