Cet article a fait l'objet d'une traduction manuelle. Déplacez votre pointeur sur les phrases de l'article pour voir la version originale de ce texte. |
Traduction
Source
|
CustomExpression, classe
Offre un moyen de spécifier une requête LINQ personnalisée appelée en réponse à un événement.
System.Web.UI.WebControls.Expressions.DataSourceExpression
System.Web.UI.WebControls.Expressions.ParameterDataSourceExpression
System.Web.UI.WebControls.Expressions.CustomExpression
Assembly : System.Web.Extensions (dans System.Web.Extensions.dll)
Le type CustomExpression expose les membres suivants.
| Nom | Description | |
|---|---|---|
|
CustomExpression | Initialise une nouvelle instance de la classe CustomExpression. |
| Nom | Description | |
|---|---|---|
|
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.) |
|
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.) |
|
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.) |
|
ViewState | Obtient une instance de la classe StateBag qui contient les informations sur l'état d'affichage actuel. (Hérité de DataSourceExpression.) |
| Nom | Description | |
|---|---|---|
|
Equals(Object) | Détermine si l'Object spécifié est égal à l'Object en cours. (Hérité de Object.) |
|
Finalize | Autorise un objet à tenter de libérer des ressources et d'exécuter d'autres opérations de netto***ge avant qu'il ne soit récupéré par l'opération garbage collection. (Hérité de Object.) |
|
GetHashCode | Sert de fonction de hachage pour un type particulier. (Hérité de Object.) |
|
GetQueryable | Permet d'accéder à l'objet IQueryable modifié que la source de données utilise. (Substitue DataSourceExpression.GetQueryable(IQueryable).) |
|
GetType | Obtient le Type de l'instance actuelle. (Hérité de Object.) |
|
LoadViewState | Charge l'état des valeurs de l'objet ParameterDataSourceExpression qui doivent être persistantes. (Hérité de ParameterDataSourceExpression.) |
|
MemberwiseClone | Crée une copie superficielle de l'objet Object actif. (Hérité de Object.) |
|
SaveViewState | Enregistre l'état d'affichage actuel de l'objet ParameterDataSourceExpression. (Hérité de ParameterDataSourceExpression.) |
|
SetContext | 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.) |
| Nom | Description | |
|---|---|---|
|
Querying | Se produit lorsque la valeur de la source de données IQueryable est définie. |
| Nom | Description | |
|---|---|---|
|
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 | 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.) |
La classe CustomExpression est utilisée avec le contrôle QueryExtender. Le contrôle QueryExtender prend en charge une gamme d'options que vous pouvez utiliser pour filtrer des données. Le contrôle QueryExtender prend en charge les filtres permettant de rechercher des chaînes et des valeurs comprises dans une plage spécifiée, ainsi que de comparer une valeur de propriété dans un tableau à une valeur spécifiée et de trier des données. Ces options sont fournies comme expressions LINQ dans le contrôle QueryExtender. Vous pouvez utiliser ces expressions de filtre ou vous pouvez fournir une expression personnalisée que vous pouvez utiliser dans le contrôle QueryExtender. La classe CustomExpression vous permet de spécifier une expression personnalisée dans votre application et de l'appeler dans un gestionnaire d'événements.
Remarque
|
|---|
|
Vous pouvez fournir une requête personnalisée appelée par une méthode au lieu d'un gestionnaire d'événements à l'aide de la classe MethodExpression. |
L'exemple suivant indique comment créer un objet CustomExpression utilisé par le contrôle QueryExtender. L'expression personnalisée appelle la méthode FilterProducts, qui contient une expression LINQ personnalisée. Le résultat de l'opération de filtrage est affiché dans un contrôle GridView.
<html xmlns="http://www.w3.org/1999/xhtml">
<head runat="server">
<title>Custom Filter</title>
</head>
<body>
<form id="form1" runat="server">
<div>
</div>
<asp:LinqDataSource ID="LinqDataSource1" runat="server"
ContextTypeName="AdventureWorksDataContext" EntityTypeName=""
TableName="Products">
</asp:LinqDataSource>
<asp:QueryExtender ID="QueryExtender1" runat="server" TargetControlID="LinqDataSource1">
<asp:CustomExpression OnQuerying="FilterProducts"></asp:CustomExpression>
</asp:QueryExtender>
<asp:GridView ID="GridView1" runat="server"
DataSourceID="LinqDataSource1"
DataKeyNames="ProductID" AllowPaging="True">
</asp:GridView>
</form>
</body>
</html>
L'exemple suivant affiche un gestionnaire d'événements qui contient une requête LINQ personnalisée. L'expression filtre la table Product dans la base de données AdventureWorks et affiche les produits qui ont un tarif supérieur ou égal à 3 500,00 $.
using System; using System.Collections.Generic; using System.Linq; using System.Web; using System.Web.UI; using System.Web.UI.WebControls; using System.Web.UI.WebControls.Expressions; using System.Linq; public partial class _Default : System.Web.UI.Page { protected void FilterProducts(object sender, CustomExpressionEventArgs e) { e.Query = from p in e.Query.Cast<Product>() where p.ListPrice >= 3500 select p; } }
Windows 7, Windows Vista SP1 ou ultérieur, Windows XP SP3, Windows Server 2008 (installation minimale non prise en charge), Windows Server 2008 R2 (installation minimale prise en charge avec SP1 ou version ultérieure), Windows Server 2003 SP2
Le .NET Framework ne prend pas en charge toutes les versions de chaque plateforme. Pour obtenir la liste des versions prises en charge, consultez Configuration requise du .NET Framework.
Remarque