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


CookieParameter クラスを使用すると、HTTP 要求の一部として渡されたクライアント側の HTTP Cookie の値を、ASP.NET データ ソース コントロールで使用されるパラメータにバインドできます。
CookieParameter クラスには、Parameter クラスから継承されたプロパティに加え、バインド先の HttpCookie オブジェクトの名前を識別する CookieName プロパティが用意されています。CookieParameter クラスは、Evaluate メソッドが呼び出されるたびに、名前付き Cookie にバインドしようとします。
![]() |
---|
CookieParameter オブジェクトが指定されていても、HTTP 要求と共に対応する Cookie が渡されないと、データをパラメータにバインドするコントロールは例外をスローします。同様に、Cookie として null 参照 (Visual Basic では Nothing) が渡された場合、データは表示されないことがあります。このような状況を防ぐには、必要に応じて DefaultValue プロパティを設定します。 |

SqlDataSource コントロールと、HTTP Cookie にバインドされた CookieParameter オブジェクトを使用して、Northwind Traders データベースのデータを GridView コントロールに表示する方法を次のコード例に示します。
<%@Page Language="VB" %> <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <SCRIPT runat="server"> Sub Page_Load(sender As Object, e As EventArgs) ' These cookies might be added by a login form. ' They are added here for simplicity. If (Not IsPostBack) Then Dim cookie As HttpCookie cookie = New HttpCookie("lname" ,"davolio") Response.Cookies.Add(cookie) cookie = New HttpCookie("loginname" ,"ndavolio") Response.Cookies.Add(cookie) cookie = New HttpCookie("lastvisit", DateTime.Now.ToString()) Response.Cookies.Add(cookie) End If End Sub ' Page_Load </SCRIPT> <HTML> <BODY> <FORM runat="server"> <asp:SqlDataSource id="SqlDataSource1" runat="server" DataSourceMode="DataSet" ConnectionString="<%$ ConnectionStrings:MyNorthwind%>" SelectCommand = "SELECT OrderID,CustomerID,OrderDate,RequiredDate,ShippedDate FROM Orders WHERE EmployeeID = (SELECT EmployeeID FROM Employees WHERE LastName = @lastname)"> <SelectParameters> <asp:CookieParameter Name="lastname" CookieName="lname" /> </SelectParameters> </asp:SqlDataSource> <asp:GridView id="GridView1" runat="server" AllowSorting="True" DataSourceID="SqlDataSource1"> </asp:GridView> </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"> <SCRIPT runat="server"> void Page_Load(Object sender, EventArgs e){ // These cookies might be added by a login form. // They are added here for simplicity. if (!IsPostBack) { Response.Cookies.Add(new HttpCookie("lname", "davolio")); Response.Cookies.Add(new HttpCookie("loginname" ,"ndavolio")); Response.Cookies.Add(new HttpCookie("lastvisit", DateTime.Now.ToString())); } } </SCRIPT> <HTML> <BODY> <FORM runat="server"> <asp:SqlDataSource id="SqlDataSource1" runat="server" DataSourceMode="DataSet" ConnectionString="<%$ ConnectionStrings:MyNorthwind%>" SelectCommand = "SELECT OrderID,CustomerID,OrderDate,RequiredDate,ShippedDate FROM Orders WHERE EmployeeID = (SELECT EmployeeID FROM Employees WHERE LastName = @lastname)"> <SelectParameters> <asp:CookieParameter Name="lastname" CookieName="lname" /> </SelectParameters> </asp:SqlDataSource> <asp:GridView id="GridView1" runat="server" AllowSorting="True" DataSourceID="SqlDataSource1"> </asp:GridView> </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"> <SCRIPT runat="server"> void Page_Load(Object sender, System.EventArgs e) { // These cookies might be added by a login form. // They are added here for simplicity. if (!get_IsPostBack()) { get_Response().get_Cookies().Add(new HttpCookie( "lname", "davolio")); get_Response().get_Cookies().Add(new HttpCookie( "loginname", "ndavolio")); get_Response().get_Cookies().Add(new HttpCookie( "lastvisit", System.DateTime.get_Now().ToString())); } }//Page_Load </SCRIPT> <HTML> <BODY> <FORM runat="server"> <asp:SqlDataSource id="SqlDataSource1" runat="server" DataSourceMode="DataSet" ConnectionString="Data Source=localhost;Integrated Security=SSPI;Initial Catalog=Northwind;" SelectCommand="SELECT OrderID,CustomerID,OrderDate,RequiredDate,ShippedDate FROM Orders WHERE EmployeeID =(SELECT EmployeeID FROM Employees WHERE LastName = @lastname)"> <SelectParameters> <asp:CookieParameter Name="lastname" CookieName="lname" /> </SelectParameters> </asp:SqlDataSource> <asp:GridView id="GridView1" runat="server" AllowSorting="True" DataSourceID="SqlDataSource1"> </asp:GridView> </FORM> </BODY> </HTML>


System.Web.UI.WebControls.Parameter
System.Web.UI.WebControls.CookieParameter


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 によってサポートされていないバージョンがあります。サポートされているバージョンについては、「システム要件」を参照してください。


CookieParameter メンバ
System.Web.UI.WebControls 名前空間
ControlParameter クラス
FormParameter
ProfileParameter
QueryStringParameter
SessionParameter
- CookieParameter クラスのページへのリンク