New tests.
[mono.git] / mcs / class / System.Web / System.Web.UI.WebControls / CookieParameter.cs
index bf631b9284dec9d3124716066936e7ce1ef3c7d1..257ddc4b3a946eeab8763ec5f786af50448b2da4 100644 (file)
 #if NET_2_0
 using System.Collections;
 using System.Collections.Specialized;
+using System.Data;
 using System.Text;
+using System.ComponentModel;
 
 namespace System.Web.UI.WebControls {
+
+       [DefaultPropertyAttribute ("CookieName")]
        public class CookieParameter : Parameter {
 
                public CookieParameter () : base ()
@@ -54,32 +58,32 @@ namespace System.Web.UI.WebControls {
                {
                        CookieName = cookieName;
                }
+
+               public CookieParameter (string name, DbType dbType, string cookieName) : base (name, dbType)
+               {
+                       CookieName = cookieName;
+               }
                
                protected override Parameter Clone()
                {
                        return new CookieParameter (this);
                }
                
-               protected override object Evaluate (Control control)
+               protected override object Evaluate (HttpContext ctx, Control control)
                {
-                       if (control == null || control.Page == null || control.Page.Request == null)
+                       if (ctx == null || ctx.Request == null)
                                return null;
                        
-                       HttpCookie c = control.Page.Request.Cookies [CookieName];
+                       HttpCookie c = ctx.Request.Cookies [CookieName];
                        if (c == null)
                                return null;
                        
                        return c.Value;
                }
                
+               [DefaultValueAttribute ("")]
                public string CookieName {
-                       get {
-                               string s = ViewState ["CookieName"] as string;
-                               if (s != null)
-                                       return s;
-                               
-                               return "";
-                       }
+                       get { return ViewState.GetString ("CookieName", ""); }
                        set {
                                if (CookieName != value) {
                                        ViewState ["CookieName"] = value;
@@ -93,3 +97,4 @@ namespace System.Web.UI.WebControls {
 }
 #endif
 
+