SessionParameter クラス
アセンブリ: System.Web (system.web.dll 内)


SessionParameter クラスを使用すると、HttpSessionState 変数の値を、SQL パラメータ クエリ、ビジネス オブジェクトのメソッド、またはフィルタ処理式で使用されるパラメータにバインドできます。
SessionParameter クラスは、Parameter クラスから継承したこれらのプロパティに加えて、SessionField プロパティを提供しています。SessionField プロパティは、SessionParameter を使って値を取得する際のセッション変数を識別します。
![]() |
---|
SessionParameter オブジェクトが指定されていても、対応するセッション変数が設定されていないと、データをパラメータにバインドするコントロールは例外をスローします。同様に、セッション変数が null 参照 (Visual Basic では Nothing) で設定された場合、データは表示されません。このような状況を防ぐには、必要に応じて DefaultValue プロパティを設定します。 |

SessionParameter オブジェクトを使用して、Web ブラウザ セッションに格納された従業員 ID の値を SQL パラメータ クエリにバインドする方法を次のコード例に示します。まず、SessionParameter オブジェクトを SqlDataSource コントロールの SelectParameters コレクションに追加しています。次に、SelectCommand プロパティに設定された SQL パラメータ クエリが、このオブジェクトを使用してデータを取得し、それを GridView コントロールに表示しています。SessionParameter オブジェクトには DefaultValue プロパティが設定されているため、この例を実行する前に "empid" という名前のセッション変数を設定しなかったとしてもデータが表示されます。
<%@ Page language="VB"%> <!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="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>


System.Web.UI.WebControls.Parameter
System.Web.UI.WebControls.SessionParameter


Windows 98, Windows 2000 SP4, Windows Server 2003, Windows XP Media Center Edition, Windows XP Professional x64 Edition, Windows XP SP2, Windows XP Starter Edition
開発プラットフォームの中には、.NET Framework によってサポートされていないバージョンがあります。サポートされているバージョンについては、「システム要件」を参照してください。


- SessionParameter クラスのページへのリンク