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
Poniższy przykład pokazuje, jak przeszukać pole ListPrice tabeli Products w bazie danych AdventureWorks dla produktów, które mają Cennik 400 lub więcej. Ten przykład pokazuje, jak utworzyć niestandardowe zapytanie LINQ w metodzie w kodzie strony i jak wywołać metodę w QueryExtender kontrolce.
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;
}
Poniższy przykład pokazuje, 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
QueryExtenderKontrolka obsługuje niestandardowe zapytania LINQ. Można zdefiniować niestandardowe zapytanie LINQ w metodzie i użyć MethodExpression opcji filtru, aby wywołać zapytanie w QueryExtender kontrolce.
Metoda, która zawiera niestandardowe zapytanie LINQ, musi spełniać następujące kryteria:
Metoda musi być statyczna (
Sharedw Visual Basic). Pierwszy parametr musi być IQueryable<T> IEnumerable<T> obiektem lub. Metoda może mieć więcej niż jeden parametr.Wartość zwracana nie może zmienić IQueryable<T> typu lub IEnumerable<T> , który jest wysyłany do zapytania.
MethodExpressionWyszukuje metodę, która zawiera zapytanie w następującej kolejności:
Jeśli TypeName Właściwość jest określona w QueryExtender kontrolce, MethodExpression obiekt szuka metody w określonym typie.
Jeśli źródło danych implementuje metodę IDynamicDataSource , metoda szuka metody dla typu kontekstu ( DataContext lub ObjectContext obiektu).
Metoda poszukuje metody w kontrolce szablonu, w klasie podstawowej strony lub w kontrolce użytkownika.
MethodExpressionKlasa jest taka sama 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 |
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) |
| IgnoreIfNotFound |
Pobiera lub ustawia wartość wskazującą, czy wyrażenie ma być ignorowane. |
| IsTrackingViewState |
Pobiera wartość, która wskazuje, czy obiekt wyrażenia źródła danych śledzi zmiany stanu widoku. (Odziedziczone po DataSourceExpression) |
| MethodName |
Pobiera lub ustawia nazwę metody, która zawiera niestandardowe zapytanie LINQ. |
| Owner |
Pobiera kontrolę właściciela. (Odziedziczone po DataSourceExpression) |
| Parameters |
Pobiera parametry, które są 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, 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) |
Rozpoznaje wyrażenie przy użyciu określonego IQueryable obiektu. |
| 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) |
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) |