2008-10-24 Marek Habersack <mhabersack@novell.com>
[mono.git] / mcs / class / System.Web / System.Web.UI.HtmlControls / HtmlInputHidden.cs
index 592a9c169ae4435cb98eb28ed4e122428160f8ab..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;
                        }
@@ -95,6 +98,14 @@ namespace System.Web.UI.HtmlControls {
                }
 
 #if NET_2_0
+               protected override void RenderAttributes (HtmlTextWriter writer)
+               {
+                       Page page = Page;
+                       if (page != null)
+                               page.ClientScript.RegisterForEventValidation (Name);
+                       base.RenderAttributes (writer);
+               }               
+
                protected internal
 #else
                protected
@@ -103,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
                        }
                }