2008-10-24 Marek Habersack <mhabersack@novell.com>
[mono.git] / mcs / class / System.Web / System.Web.UI.HtmlControls / HtmlInputHidden.cs
index efb5df3931445962a114a49469dc726f63300232..755ce95b9bcc2969e0bbe1b223012adc0618c5f5 100644 (file)
@@ -42,7 +42,7 @@ namespace System.Web.UI.HtmlControls {
 #endif
        public class HtmlInputHidden : HtmlInputControl, IPostBackDataHandler {
 
-               private static readonly object ServerChangeEvent = new object ();
+               static readonly object ServerChangeEvent = new object ();
 
                public HtmlInputHidden () : base ("hidden")
                {
@@ -52,6 +52,9 @@ namespace System.Web.UI.HtmlControls {
                {
                        string data = postCollection [postDataKey];
                        if (data != null && data != Value) {
+#if NET_2_0
+                               ValidateEvent (postDataKey, String.Empty);
+#endif
                                Value = data;
                                return true;
                        }
@@ -97,8 +100,9 @@ namespace System.Web.UI.HtmlControls {
 #if NET_2_0
                protected override void RenderAttributes (HtmlTextWriter writer)
                {
-                       if (Page != null)
-                               Page.ClientScript.RegisterForEventValidation (this.UniqueID);
+                       Page page = Page;
+                       if (page != null)
+                               page.ClientScript.RegisterForEventValidation (Name);
                        base.RenderAttributes (writer);
                }               
 
@@ -110,8 +114,11 @@ namespace System.Web.UI.HtmlControls {
                {
                        base.OnPreRender (e);
 
-                       if (Page != null) {
+                       if (Page != null && !Disabled) {
                                Page.RegisterRequiresPostBack (this);
+#if NET_2_0
+                               Page.RegisterEnabledControl (this);
+#endif
                        }
                }