2003-09-29 Gonzalo Paniagua Javier <gonzalo@ximian.com>
authorGonzalo Paniagua Javier <gonzalo.mono@gmail.com>
Mon, 29 Sep 2003 19:14:56 +0000 (19:14 -0000)
committerGonzalo Paniagua Javier <gonzalo.mono@gmail.com>
Mon, 29 Sep 2003 19:14:56 +0000 (19:14 -0000)
* Control.cs:
(ClearChildViewState): doh! Don't clear control viewstate but the
viewstate of possible children.
(LoadViewStateRecursive): load viewstate even when control is not
visible.
Fixes bug #49024.
The rest are just dangling ^M removed.

* DataBoundLiteralControl.cs:
(LoadViewState): we get an object [], not a string [].

svn path=/trunk/mcs/; revision=18405

mcs/class/System.Web/System.Web.UI/ChangeLog
mcs/class/System.Web/System.Web.UI/Control.cs
mcs/class/System.Web/System.Web.UI/DataBoundLiteralControl.cs

index 938a9aa7f70fde313e05f1bf533588b224d97f78..a199ed6e09a3156797994592d1d45f7100935832 100644 (file)
@@ -1,3 +1,16 @@
+2003-09-29  Gonzalo Paniagua Javier <gonzalo@ximian.com>
+
+       * Control.cs:
+       (ClearChildViewState): doh! Don't clear control viewstate but the
+       viewstate of possible children.
+       (LoadViewStateRecursive): load viewstate even when control is not
+       visible.
+       Fixes bug #49024.
+       The rest are just dangling ^M removed.
+
+       * DataBoundLiteralControl.cs:
+       (LoadViewState): we get an object [], not a string [].
+
 2003-09-28  Gonzalo Paniagua Javier <gonzalo@ximian.com>
 
        * Control.cs: implemented ClearChildViewState ().
index f248bf2f78a9ec7d464f80ab64b56b75826520e2..52bb7ba5df8fefd23133126d2390097b85813b8b 100644 (file)
@@ -412,7 +412,7 @@ namespace System.Web.UI
 
                 protected void ClearChildViewState ()
                 {
-                       _viewState = null;
+                       pendingVS = null;
                 }
 
                 protected virtual void CreateChildControls() {} //DIT\r
@@ -576,15 +576,15 @@ namespace System.Web.UI
                                 foreach (Control c in _controls)\r
                                         c.RenderControl(writer);\r
                 }\r
-               \r
-                protected virtual object SaveViewState ()\r
-                {\r
-                       if (_viewState == null)\r
-                               return null;\r
-\r
-                       return _viewState.SaveViewState ();\r
-                }\r
-\r
+
+                protected virtual object SaveViewState ()
+                {
+                       if (_viewState == null)
+                               return null;
+
+                       return _viewState.SaveViewState ();
+                }
+
                 protected virtual void TrackViewState()\r
                 {\r
                        if (_viewState != null)\r
@@ -699,16 +699,13 @@ namespace System.Web.UI
                         if (_controls != null && _controls.Count >0) return true;\r
                         return false;\r
                 }\r
-\r
-                public void RenderControl(HtmlTextWriter writer)\r
-                {\r
-                        if (_visible)\r
-                        {\r
-                                //TODO: Something about tracing here.\r
-                                Render(writer);\r
-                        }\r
-                }\r
-                \r
+
+                public void RenderControl(HtmlTextWriter writer)
+                {
+                        if (_visible)
+                                Render(writer);
+                }
+
                 public string ResolveUrl(string relativeUrl)\r
                 {\r
                        if (relativeUrl == null)\r
@@ -756,21 +753,21 @@ namespace System.Web.UI
                         if (dispose)\r
                                Dispose();\r
                 }\r
-\r
-                internal void PreRenderRecursiveInternal()\r
-                {\r
-                       if (_visible) {\r
-                               EnsureChildControls ();\r
-                               OnPreRender (EventArgs.Empty);\r
-                               if (_controls == null)\r
-                                       return;\r
-\r
-                               foreach (Control c in _controls)\r
-                                       c.PreRenderRecursiveInternal ();\r
-                       }\r
-                       prerendered = true;\r
-                }\r
-\r
+
+                internal void PreRenderRecursiveInternal()
+                {
+                       if (_visible) {
+                               EnsureChildControls ();
+                               OnPreRender (EventArgs.Empty);
+                               if (_controls == null)
+                                       return;
+
+                               foreach (Control c in _controls)
+                                       c.PreRenderRecursiveInternal ();
+                       }
+                       prerendered = true;
+                }
+
                 internal void InitRecursive(Control namingContainer)\r
                 {\r
                         if (_controls != null) {\r
@@ -830,7 +827,7 @@ namespace System.Web.UI
                 
                internal void LoadViewStateRecursive (object savedState)
                 {
-                       if (!EnableViewState || !Visible || savedState == null)
+                       if (!EnableViewState || savedState == null)
                                return;
 
                        Triplet savedInfo = (Triplet) savedState;
index 2cf40c1eb5ce971d597ad5180aade3fa3938684a..28c933e37dcd9dadf5fa4c2a7ae1b3060f2168ed 100755 (executable)
@@ -52,8 +52,11 @@ namespace System.Web.UI {
 
                protected override void LoadViewState (object savedState)
                {
-                       if (savedState != null)
-                               dataBoundLiterals = (string []) savedState;
+                       if (savedState != null) {
+                               Array source = (Array) savedState;
+                               dataBoundLiterals = new string [source.Length];
+                               source.CopyTo (dataBoundLiterals, 0);
+                       }
                }
 
                protected override void Render (HtmlTextWriter output)