+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 ().
protected void ClearChildViewState ()
{
- _viewState = null;
+ pendingVS = null;
}
protected virtual void CreateChildControls() {} //DIT\r
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
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
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
internal void LoadViewStateRecursive (object savedState)
{
- if (!EnableViewState || !Visible || savedState == null)
+ if (!EnableViewState || savedState == null)
return;
Triplet savedInfo = (Triplet) savedState;
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)