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 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 le champ ListPrice de la table Products dans la base de données AdventureWorks pour les produits dont le prix de liste est de 400 ou plus. Cet exemple montre comment créer une requête LINQ personnalisée dans une méthode dans le 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 (
Shareden Visual Basic). Le premier paramètre doit être un ou IEnumerable<T> un IQueryable<T> objet. La méthode peut avoir plusieurs paramètres.La valeur de retour ne peut pas modifier le ou IEnumerable<T> le IQueryable<T> type 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 l’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 semblable à la CustomExpression classe, sauf que l’expression de méthode est exécutée en réponse à un appel de méthode et que l’expression personnalisée est exécutée en réponse à un événement.
Constructeurs
| Nom | Description |
|---|---|
| MethodExpression() |
Initialise une nouvelle instance de la classe MethodExpression. |
Propriétés
| Nom | Description |
|---|---|
| Context |
Obtient l’instance HttpContext du contrôle propriétaire. (Hérité de DataSourceExpression) |
| DataSource |
Obtient l’objet de 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 d’expression de source de données suit ses modifications d’é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 DataSourceExpression objet. (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 StateBag classe qui contient les informations d’état d’affichage actuelles. (Hérité de DataSourceExpression) |
Méthodes
| Nom | Description |
|---|---|
| Equals(Object) |
Détermine si l’objet spécifié est égal à l’objet actuel. (Hérité de Object) |
| GetHashCode() |
Sert de fonction de hachage par défaut. (Hérité de Object) |
| GetQueryable(IQueryable) |
Résout l’expression à l’aide de l’objet spécifié IQueryable . |
| GetType() |
Obtient la Type de l’instance actuelle. (Hérité de Object) |
| LoadViewState(Object) |
Charge l’état des valeurs dans l’objet ParameterDataSourceExpression qui doit être conservé. (Hérité de ParameterDataSourceExpression) |
| MemberwiseClone() |
Crée une copie superficielle du Objectactuel. (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, 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() |
Effectue le suivi des modifications de l’état d’affichage de l’objet ParameterDataSourceExpression afin que les modifications puissent être stockées dans l’objet StateBag pour l’objet. (Hérité de ParameterDataSourceExpression) |
Implémentations d’interfaces explicites
| Nom | Description |
|---|---|
| IStateManager.IsTrackingViewState |
En cas d’implémentation par une classe, obtient une valeur qui indique si un objet d’expression de source de données suit ses modifications d’é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 d’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 de l’état d’affichage de l’objet DataSourceExpression afin que les modifications puissent être stockées dans l’objet StateBag pour l’objet d’expression de source de données. (Hérité de DataSourceExpression) |