SessionParameter, classe
Assembly : System.Web (dans system.web.dll)
Vous pouvez utiliser la classe SessionParameter pour lier la valeur d'une variable HttpSessionState à un paramètre utilisé dans une requête SQL paramétrée, une méthode d'objet métier ou une expression de filtrage.
La classe SessionParameter fournit la propriété SessionField en plus de celles héritées de la classe Parameter. La propriété SessionField identifie la variable de session à partir de laquelle le SessionParameter récupère une valeur.
Remarque |
|---|
| Contrôles permettant de lier des données à un paramètre susceptible de lever une exception si un objet SessionParameter est spécifié mais qu'aucune variable de session correspondante n'est définie. De la même façon, ils peuvent n'afficher aucune donnée si la valeur de la variable de session est référence Null (Nothing en Visual Basic). Définissez la propriété DefaultValue afin d'éviter ce type de situation, si approprié. |
L'exemple de code suivant montre comment utiliser un objet SessionParameter pour lier la valeur d'un ID d'employé stockée dans une session de navigateur Web à une requête SQL paramétrée. L'objet SessionParameter est ajouté à la collection SelectParameters d'un contrôle SqlDataSource et utilisé par le jeu de requêtes SQL paramétré dans la propriété SelectCommand pour récupérer des données et les afficher dans un contrôle GridView. Dans la mesure où l'objet SessionParameter a un jeu de propriétés DefaultValue, les données seront toujours affichées même si vous ne définissez pas une variable de session nommée "empid" avant d'exécuter cet exemple.
<%@ Page language="C#"%> <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <HTML> <body> <form id="Form1" method="post" runat="server"> <P>Show My Orders:</P> <asp:SqlDataSource id="OdbcDataSource1" runat="server" ProviderName="System.Data.Odbc" ConnectionString="dsn=MyOdbcDsn;" SelectCommand="SELECT OrderId, CustomerId, OrderDate FROM Orders WHERE EmployeeID = ? ORDER BY CustomerId ASC;"> <SelectParameters> <asp:SessionParameter Name="empid" SessionField="empid" DefaultValue="5" /> </SelectParameters> </asp:SqlDataSource> <p> <asp:GridView id="GridView1" runat="server" DataSourceID="OdbcDataSource1" /> </p> </form> </body> </HTML>
<%@ Page language="VJ#"%>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<HTML>
<body>
<form id="Form1" method="post" runat="server">
<P>Show My Orders:</P>
<asp:SqlDataSource
id="OdbcDataSource1"
runat="server"
ProviderName="System.Data.Odbc"
ConnectionString="dsn=MyOdbcDsn;"
SelectCommand = "SELECT OrderId, CustomerId, OrderDate
FROM Orders
WHERE EmployeeID = ?
ORDER BY CustomerId ASC;">
<SelectParameters>
<asp:SessionParameter
Name="empid"
SessionField="empid"
DefaultValue="5" />
</SelectParameters>
</asp:SqlDataSource>
<p>
<asp:GridView
id="GridView1"
runat="server"
DataSourceID="OdbcDataSource1" />
</p>
</form>
</body>
</HTML>
- AspNetHostingPermission pour opérer dans un environnement hébergé. Valeur de demande : LinkDemand ; valeur d'autorisation : Minimal
- AspNetHostingPermission pour opérer dans un environnement hébergé. Valeur de demande : InheritanceDemand ; valeur d'autorisation : Minimal
Windows 98, Windows 2000 SP4, Windows Server 2003, Windows XP Édition Media Center, Windows XP Professionnel Édition x64, Windows XP SP2, Windows XP Starter Edition
Le .NET Framework ne prend pas en charge toutes les versions de chaque plate-forme. Pour obtenir la liste des versions prises en charge, consultez Configuration requise.
Référence
Membres SessionParameterSystem.Web.UI.WebControls, espace de noms
ControlParameter, classe
CookieParameter, classe
FormParameter, classe
ProfileParameter, classe
QueryStringParameter, classe
Autres ressources
Vue d'ensemble des contrôles de source de donnéesUtilisation de paramètres avec des contrôles de source de données
Remarque