MethodExpression Klasse
Definition
Wichtig
Einige Informationen beziehen sich auf Vorabversionen, die vor dem Release ggf. grundlegend überarbeitet werden. Microsoft übernimmt hinsichtlich der hier bereitgestellten Informationen keine Gewährleistungen, seien sie ausdrücklich oder konkludent.
Bietet die Möglichkeit, eine benutzerdefinierte LINQ-Abfrage anzugeben, die in einer Methode definiert wird.
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
- Vererbung
Beispiele
Das folgende Beispiel zeigt, wie Sie das Feld ListPrice der Tabelle Products in der AdventureWorks-Datenbank nach Produkten durchsuchen, deren Listenpreis mindestens 400 beträgt. In diesem Beispiel wird gezeigt, wie Sie eine benutzerdefinierte LINQ-Abfrage in einer Methode im Seitencode erstellen und die -Methode im QueryExtender -Steuerelement aufrufen.
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;
}
Das folgende Beispiel zeigt, wie die -Methode auf der Seite aufgerufen wird.
<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>
Hinweise
Das QueryExtender Steuerelement unterstützt benutzerdefinierte LINQ-Abfragen. Sie können eine benutzerdefinierte LINQ-Abfrage in einer Methode definieren und die MethodExpression Filteroption verwenden, um die Abfrage im QueryExtender Steuerelement aufzurufen.
Die Methode, die die benutzerdefinierte LINQ-Abfrage enthält, muss die folgenden Kriterien erfüllen:
Die Methode muss statisch sein (
Shared
in Visual Basic). Der erste Parameter muss ein - oder IEnumerable<T> -IQueryable<T>Objekt sein. Die -Methode kann über mehrere Parameter verfügen.Der Rückgabewert kann den IQueryable<T> abgefragten Typ oder IEnumerable<T> nicht ändern.
Sucht MethodExpression in der folgenden Reihenfolge nach der -Methode, die die Abfrage enthält:
Wenn eine TypeName -Eigenschaft im QueryExtender -Steuerelement angegeben ist, sucht das MethodExpression Objekt nach der -Methode im angegebenen Typ.
Wenn die Datenquelle implementiert IDynamicDataSource, sucht die -Methode nach der -Methode für den Kontexttyp (DataContext oder ObjectContext das -Objekt).)
Die -Methode sucht nach der -Methode in einem Vorlagensteuerelement, in der Basisklasse für die Seite oder in einem Benutzersteuerelement.
Die MethodExpression -Klasse ähnelt der CustomExpression -Klasse, mit der Ausnahme, dass der Methodenausdruck als Reaktion auf einen Methodenaufruf und der benutzerdefinierte Ausdruck als Reaktion auf ein Ereignis ausgeführt wird.
Konstruktoren
MethodExpression() |
Initialisiert eine neue Instanz der MethodExpression-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) |
IgnoreIfNotFound |
Ruft einen Wert ab, der angibt, ob der Ausdruck ignoriert werden soll, oder legt ihn fest. |
IsTrackingViewState |
Ruft einen Wert ab, der angibt, ob die Änderungen des Ansichtszustands durch ein Datenquellen-Ausdrucksobjekt verfolgt werden. (Geerbt von DataSourceExpression) |
MethodName |
Ruft den Namen der Methode ab, die eine benutzerdefinierte LINQ-Abfrage enthält. |
Owner |
Ruft das Besitzersteuerelement ab. (Geerbt von DataSourceExpression) |
Parameters |
Ruft die Parameter ab, die diesem DataSourceExpression-Objekt zugeordnet sind. (Geerbt von ParameterDataSourceExpression) |
TypeName |
Ruft die Klasse ab, deren Methode die benutzerdefinierte Abfrage enthält, oder legt diese fest. |
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) |
Löst den Ausdruck mithilfe des angegebenen IQueryable-Objekts auf. |
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) |
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) |