fixed: when removed the names from the bag also removed FontStyles.Names flag from...
[mono.git] / mcs / class / System.Web / System.Web.UI.WebControls / ImageButton.cs
index 7f2785aaec69c6fe571f5b938eb94f709e24c030..022617e18d2902ce61ae41759b751456d4f520e9 100644 (file)
 
 using System.Collections.Specialized;
 using System.ComponentModel;
+using System.Security.Permissions;
 
 namespace System.Web.UI.WebControls {
 
+       // CAS
+       [AspNetHostingPermissionAttribute (SecurityAction.LinkDemand, Level = AspNetHostingPermissionLevel.Minimal)]
+       [AspNetHostingPermissionAttribute (SecurityAction.InheritanceDemand, Level = AspNetHostingPermissionLevel.Minimal)]
+       // attributes
        [DefaultEvent("Click")]
 #if NET_2_0
        [Designer ("System.Web.UI.Design.WebControls.PreviewControlDesigner, " + Consts.AssemblySystem_Design, "System.ComponentModel.Design.IDesigner")]
-#endif         
-       public class ImageButton : Image, IPostBackDataHandler, IPostBackEventHandler
-#if NET_2_0
-       , IButtonControl
+       [SupportsEventValidation]
+       public class ImageButton : Image, IPostBackDataHandler, IPostBackEventHandler, IButtonControl {
+#else
+       public class ImageButton : Image, IPostBackDataHandler, IPostBackEventHandler {
 #endif
-       {
-
                private static readonly object ClickEvent = new object ();
                private static readonly object CommandEvent = new object ();
                private int pos_x, pos_y;
@@ -80,11 +83,8 @@ namespace System.Web.UI.WebControls {
                [WebCategory ("Behavior")]
 #if NET_2_0
                [Themeable (false)]
-               public virtual
-#else          
-               public
 #endif         
-               string CommandArgument {
+               public string CommandArgument {
                        get {
                                return ViewState.GetString ("CommandArgument", "");
                        }
@@ -98,11 +98,8 @@ namespace System.Web.UI.WebControls {
                [WebCategory ("Behavior")]
 #if NET_2_0
                [Themeable (false)]
-               public virtual
-#else          
-               public
 #endif         
-               string CommandName {
+               public string CommandName {
                        get {
                                return ViewState.GetString ("CommandName", "");
                        }
@@ -163,14 +160,12 @@ namespace System.Web.UI.WebControls {
 #endif
                [DefaultValue ("")]
                [Editor ("System.Web.UI.Design.UrlEditor, "  + Consts.AssemblySystem_Design, "System.Drawing.Design.UITypeEditor, " + Consts.AssemblySystem_Drawing)]
-               [MonoTODO]
-               public virtual string PostBackUrl
-               {
+               public virtual string PostBackUrl {
                        get {
-                               throw new NotImplementedException ();
+                               return ViewState.GetString ("PostBackUrl", String.Empty);
                        }
                        set {
-                               throw new NotImplementedException ();
+                               ViewState["PostBackUrl"] = value;
                        }
                }
 
@@ -229,10 +224,11 @@ namespace System.Web.UI.WebControls {
                }
 
 #if NET_2_0
-               [MonoTODO]
                protected virtual PostBackOptions GetPostBackOptions ()
                {
-                       throw new NotImplementedException ();
+                       return new PostBackOptions(this, PostBackUrl, null, false, true,
+                                                  false, true, CausesValidation,
+                                                  ValidationGroup);
                }
 #endif