MethodExpression Classe
Définition
Important
Certaines informations portent sur la préversion du produit qui est susceptible d’être en grande partie modifiée avant sa publication. Microsoft exclut toute garantie, expresse ou implicite, concernant les informations fournies ici.
Fournit un moyen de spécifier une requête LINQ personnalisée qui est définie dans une méthode.
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
- Héritage
Exemples
L’exemple suivant montre comment rechercher dans le champ ListPrice de la table Products de la base de données AdventureWorks des produits dont le prix de liste est supérieur ou égal à 400. Cet exemple montre comment créer une requête LINQ personnalisée dans une méthode dans un code de page et comment appeler la méthode dans le QueryExtender contrôle .
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;
}
L’exemple suivant montre comment appeler la méthode dans la page .
<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>
Remarques
Le QueryExtender contrôle prend en charge les requêtes LINQ personnalisées. Vous pouvez définir une requête LINQ personnalisée dans une méthode et utiliser l’option MethodExpression de filtre pour appeler la requête dans le QueryExtender contrôle .
La méthode qui contient la requête LINQ personnalisée doit répondre aux critères suivants :
La méthode doit être statique (
Shared
en Visual Basic). Le premier paramètre doit être un IQueryable<T> objet ou IEnumerable<T> . La méthode peut avoir plusieurs paramètres.La valeur de retour ne peut pas modifier le IQueryable<T> type ou IEnumerable<T> interrogé.
Recherche MethodExpression la méthode qui contient la requête dans l’ordre suivant :
Si une TypeName propriété est spécifiée dans le QueryExtender contrôle, l’objet MethodExpression recherche la méthode dans le type spécifié.
Si la source de données implémente IDynamicDataSource, la méthode recherche la méthode sur le type de contexte (DataContext ou ObjectContext objet.)
La méthode recherche la méthode dans un contrôle de modèle, dans la classe de base de la page ou dans un contrôle utilisateur.
La MethodExpression classe est similaire à la CustomExpression classe , sauf que l’expression de méthode est exécutée en réponse à un appel de méthode, et l’expression personnalisée est exécutée en réponse à un événement.
Constructeurs
MethodExpression() |
Initialise une nouvelle instance de la classe MethodExpression. |
Propriétés
Context |
Obtient l'instance HttpContext du contrôle propriétaire. (Hérité de DataSourceExpression) |
DataSource |
Obtient l'objet source de données associé au contrôle propriétaire. (Hérité de DataSourceExpression) |
IgnoreIfNotFound |
Obtient ou définit une valeur qui indique si l'expression doit être ignorée. |
IsTrackingViewState |
Obtient une valeur qui indique si un objet expression de source de données effectue le suivi des modifications apportées à son état d'affichage. (Hérité de DataSourceExpression) |
MethodName |
Obtient ou définit le nom de la méthode qui contient une requête LINQ personnalisée. |
Owner |
Obtient le contrôle propriétaire. (Hérité de DataSourceExpression) |
Parameters |
Obtient les paramètres associés à cet objet DataSourceExpression. (Hérité de ParameterDataSourceExpression) |
TypeName |
Obtient ou définit la classe dont la méthode contient la requête personnalisée. |
ViewState |
Obtient une instance de la classe StateBag qui contient les informations sur l'état d'affichage actuel. (Hérité de DataSourceExpression) |
Méthodes
Equals(Object) |
Détermine si l'objet spécifié est égal à l'objet actuel. (Hérité de Object) |
GetHashCode() |
Fait office de fonction de hachage par défaut. (Hérité de Object) |
GetQueryable(IQueryable) |
Résout l'expression en utilisant l'objet IQueryable spécifié. |
GetType() |
Obtient le Type de l'instance actuelle. (Hérité de Object) |
LoadViewState(Object) |
Charge l'état des valeurs de l'objet ParameterDataSourceExpression qui doivent être persistantes. (Hérité de ParameterDataSourceExpression) |
MemberwiseClone() |
Crée une copie superficielle du Object actuel. (Hérité de Object) |
SaveViewState() |
Enregistre l'état d'affichage actuel de l'objet ParameterDataSourceExpression. (Hérité de ParameterDataSourceExpression) |
SetContext(Control, HttpContext, IQueryableDataSource) |
Exécute l'expression à l'aide du contrôle propriétaire, du contexte et de la source de données spécifiés. (Hérité de ParameterDataSourceExpression) |
SetDirty() |
Marque l'objet DataSourceExpression afin que son état soit enregistré dans l'état d'affichage. (Hérité de DataSourceExpression) |
ToString() |
Retourne une chaîne qui représente l'objet actuel. (Hérité de Object) |
TrackViewState() |
Suit les modifications d'état d'affichage apportées à l'objet ParameterDataSourceExpression afin de les stocker dans l'objet StateBag pour l'objet. (Hérité de ParameterDataSourceExpression) |
Implémentations d’interfaces explicites
IStateManager.IsTrackingViewState |
En cas d'implémentation par une classe, obtient une valeur qui indique si un objet expression de source de données effectue le suivi des modifications de son état d'affichage. (Hérité de DataSourceExpression) |
IStateManager.LoadViewState(Object) |
En cas d'implémentation par une classe, charge l'état d'affichage précédemment enregistré de l'objet expression de source de données. (Hérité de DataSourceExpression) |
IStateManager.SaveViewState() |
En cas d'implémentation par une classe, enregistre l'état d'affichage actuel de l'objet DataSourceExpression. (Hérité de DataSourceExpression) |
IStateManager.TrackViewState() |
En cas d'implémentation par une classe, suit les modifications apportées à l'état d'affichage de l'objet DataSourceExpression afin que les modifications puissent être stockées dans l'objet StateBag pour l'objet expression de source de données. (Hérité de DataSourceExpression) |