refactoring implementing Page.GetDataItem()
authorKonstantin Triger <kostat@mono-cvs.ximian.com>
Tue, 11 Apr 2006 08:39:47 +0000 (08:39 -0000)
committerKonstantin Triger <kostat@mono-cvs.ximian.com>
Tue, 11 Apr 2006 08:39:47 +0000 (08:39 -0000)
svn path=/trunk/mcs/; revision=59347

mcs/class/System.Web/System.Web.UI/ChangeLog
mcs/class/System.Web/System.Web.UI/Page.cs
mcs/class/System.Web/System.Web.UI/TemplateControl.cs

index 85f644b260510afbe3c267563b433661400190a2..0aed084aa73c68ff6be41980d65b119a9babba50 100644 (file)
@@ -1,3 +1,7 @@
+006-04-11 Konstantin Triger <kostat@mainsoft.com>
+
+       * Page.cs, TemplateControl.cs: refactoring implementing Page.GetDataItem().
+
 2006-04-10  Chris Toshok  <toshok@ximian.com>
 
        * PageThemeFileParser.cs (AddDirective): allow Register directives
index 35af9c329fde29222f3d09667d27cb6c760b8e80..5e05d18047e9e9a40d2375ba0fe1447b74548aad 100644 (file)
@@ -1706,6 +1706,30 @@ public class Page : TemplateControl, IHttpHandler
        internal PageTheme StyleSheetPageTheme {
                get { return _styleSheetPageTheme; }
        }
+
+       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 ();
+       }
+       
+       public object GetDataItem() {
+               if (dataItemCtx == null || dataItemCtx.Count == 0)
+                       throw new InvalidOperationException ("No data item");
+               
+               return dataItemCtx.Peek ();
+       }
+
        #endif
 }
 }
index a68a66749569b459d82a4d6790a61482148cd398..fc3aea5ea08bfe4bab7002e43c516af18227ca57 100644 (file)
@@ -305,57 +305,29 @@ namespace System.Web.UI {
                }
 
 #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 || dataItemCtx.Count == 0)
-                                       throw new InvalidOperationException ("No data item");
-                       
-                               return dataItemCtx.Peek ();
-                       }
-               }
-       
                protected object Eval (string expression)
                {
-                       return DataBinder.Eval (CurrentDataItem, expression);
+                       return DataBinder.Eval (Page.GetDataItem(), expression);
                }
        
                protected string Eval (string expression, string format)
                {
-                       return DataBinder.Eval (CurrentDataItem, expression, format);
+                       return DataBinder.Eval (Page.GetDataItem(), expression, format);
                }
        
                protected object XPath (string xpathexpression)
                {
-                       return XPathBinder.Eval (CurrentDataItem, xpathexpression);
+                       return XPathBinder.Eval (Page.GetDataItem(), xpathexpression);
                }
        
                protected string XPath (string xpathexpression, string format)
                {
-                       return XPathBinder.Eval (CurrentDataItem, xpathexpression, format);
+                       return XPathBinder.Eval (Page.GetDataItem(), xpathexpression, format);
                }
        
                protected IEnumerable XPathSelect (string xpathexpression)
                {
-                       return XPathBinder.Select (CurrentDataItem, xpathexpression);
+                       return XPathBinder.Select (Page.GetDataItem(), xpathexpression);
                }
 
                // IFilterResolutionService