Author: lluis
Date: 2005-04-07 12:00:05 -0400 (Thu, 07 Apr 2005)
New Revision: 42645
Modified:
trunk/mcs/class/System.Web/System.Web.UI/ChangeLog
trunk/mcs/class/System.Web/System.Web.UI/Page.cs
trunk/mcs/class/System.Web/System.Web.UI/StateManagedCollection.cs
trunk/mcs/class/System.Web/System.Web.UI/TemplateControl.cs
Log:
2005-04-07 Lluis Sanchez Gual <[EMAIL PROTECTED]>
* TemplateControl.cs:
* Page.cs: Moved Eval and XPath from Page
to TemplateControl.
* StateManagedCollection.cs: Avoid saving null state.
Modified: trunk/mcs/class/System.Web/System.Web.UI/ChangeLog
===================================================================
--- trunk/mcs/class/System.Web/System.Web.UI/ChangeLog 2005-04-07 15:51:33 UTC
(rev 42644)
+++ trunk/mcs/class/System.Web/System.Web.UI/ChangeLog 2005-04-07 16:00:05 UTC
(rev 42645)
@@ -1,3 +1,10 @@
+2005-04-07 Lluis Sanchez Gual <[EMAIL PROTECTED]>
+
+ * TemplateControl.cs:
+ * Page.cs: Moved Eval and XPath from Page
+ to TemplateControl.
+ * StateManagedCollection.cs: Avoid saving null state.
+
2005-04-01 Lluis Sanchez Gual <[EMAIL PROTECTED]>
* DataSourceView.cs: Rethrow exceptions not handled by operation
Modified: trunk/mcs/class/System.Web/System.Web.UI/Page.cs
===================================================================
--- trunk/mcs/class/System.Web/System.Web.UI/Page.cs 2005-04-07 15:51:33 UTC
(rev 42644)
+++ trunk/mcs/class/System.Web/System.Web.UI/Page.cs 2005-04-07 16:00:05 UTC
(rev 42645)
@@ -1277,58 +1277,6 @@
_form = form;
}
- Stack dataItemCtx;
-
- internal void PushDataItemContext (object o)
- {
- if (dataItemCtx == null)
- dataItemCtx = new Stack ();
-
- dataItemCtx.Push (o);
- }
-
- internal void PopDataItemContext ()
- {
- if (dataItemCtx == null)
- throw new InvalidOperationException ();
-
- dataItemCtx.Pop ();
- }
-
- internal object CurrentDataItem {
- get {
- if (dataItemCtx == null)
- throw new InvalidOperationException ("No data
item");
-
- return dataItemCtx.Peek ();
- }
- }
-
- protected object Eval (string expression)
- {
- return DataBinder.Eval (CurrentDataItem, expression);
- }
-
- protected object Eval (string expression, string format)
- {
- return DataBinder.Eval (CurrentDataItem, expression, format);
- }
-
- protected object XPath (string xpathexpression)
- {
- return XPathBinder.Eval (CurrentDataItem, xpathexpression);
- }
-
- protected object XPath (string xpathexpression, string format)
- {
- return XPathBinder.Eval (CurrentDataItem, xpathexpression,
format);
- }
-
- protected IEnumerable XPathSelect (string xpathexpression)
- {
- return XPathBinder.Select (CurrentDataItem, xpathexpression);
- }
-
[BrowsableAttribute (false)]
[DesignerSerializationVisibility (DesignerSerializationVisibility.Hidden)]
public Page PreviousPage {
Modified: trunk/mcs/class/System.Web/System.Web.UI/StateManagedCollection.cs
===================================================================
--- trunk/mcs/class/System.Web/System.Web.UI/StateManagedCollection.cs
2005-04-07 15:51:33 UTC (rev 42644)
+++ trunk/mcs/class/System.Web/System.Web.UI/StateManagedCollection.cs
2005-04-07 16:00:05 UTC (rev 42645)
@@ -78,6 +78,8 @@
#region IStateManager
void IStateManager.LoadViewState (object savedState)
{
+ if (savedState == null) return;
+
int pos = -1;
foreach (Pair p in (ArrayList)savedState) {
pos ++;
@@ -108,6 +110,7 @@
{
ArrayList saved = new ArrayList ();
Type [] knownTypes = GetKnownTypes ();
+ bool allNull = true;
foreach (IStateManager itm in items) {
object state = itm.SaveViewState ();
@@ -130,9 +133,11 @@
p.Second = t;
saved.Add (p);
+ allNull = false;
}
- return saved;
+ if (allNull) return null;
+ else return saved;
}
void IStateManager.TrackViewState ()
Modified: trunk/mcs/class/System.Web/System.Web.UI/TemplateControl.cs
===================================================================
--- trunk/mcs/class/System.Web/System.Web.UI/TemplateControl.cs 2005-04-07
15:51:33 UTC (rev 42644)
+++ trunk/mcs/class/System.Web/System.Web.UI/TemplateControl.cs 2005-04-07
16:00:05 UTC (rev 42645)
@@ -260,5 +260,60 @@
}
}
+#if NET_2_0
+
+ Stack dataItemCtx;
+
+ internal void PushDataItemContext (object o)
+ {
+ if (dataItemCtx == null)
+ dataItemCtx = new Stack ();
+
+ dataItemCtx.Push (o);
}
+
+ internal void PopDataItemContext ()
+ {
+ if (dataItemCtx == null)
+ throw new InvalidOperationException ();
+
+ dataItemCtx.Pop ();
+ }
+
+ internal object CurrentDataItem {
+ get {
+ if (dataItemCtx == null)
+ throw new InvalidOperationException ("No data
item");
+
+ return dataItemCtx.Peek ();
+ }
+ }
+
+ protected object Eval (string expression)
+ {
+ return DataBinder.Eval (CurrentDataItem, expression);
+ }
+
+ protected object Eval (string expression, string format)
+ {
+ return DataBinder.Eval (CurrentDataItem, expression, format);
+ }
+
+ protected object XPath (string xpathexpression)
+ {
+ return XPathBinder.Eval (CurrentDataItem, xpathexpression);
+ }
+
+ protected object XPath (string xpathexpression, string format)
+ {
+ return XPathBinder.Eval (CurrentDataItem, xpathexpression,
format);
+ }
+
+ protected IEnumerable XPathSelect (string xpathexpression)
+ {
+ return XPathBinder.Select (CurrentDataItem, xpathexpression);
+ }
+#endif
+
+ }
}
_______________________________________________
Mono-patches maillist - [email protected]
http://lists.ximian.com/mailman/listinfo/mono-patches