Fixed PrepareControlHierarchyForItem().
[mono.git] / mcs / class / System.Web / System.Web.UI.WebControls / ListControl.cs
index db5ff7c55f3d5e8890c13bb2b0e77a47d622ed1e..d2571e6205c065982ce15cdee32085d22fe4c829 100644 (file)
@@ -20,23 +20,39 @@ using System.Web.Util;
 namespace System.Web.UI.WebControls\r
 {\r
        [DefaultEvent("SelectedIndexChanged")]\r
-       [DefaultProperty("DataSource")]\r
+       #if !NET_1_2
+       [DefaultProperty("DataSource")]
+       #endif\r
        [Designer ("System.Web.UI.Design.WebControls.ListControlDesigner, " + Consts.AssemblySystem_Design, typeof (IDesigner))]\r
        [DataBindingHandler("System.Web.UI.Design.ListControlDataBindingHandler, " + Consts.AssemblySystem_Design)]\r
        [ParseChildren(true, "Items")]\r
-       public abstract class ListControl: WebControl\r
+       public abstract class ListControl : 
+               #if NET_1_2
+                       DataBoundControl
+               #else
+                       WebControl
+               #endif\r
        {\r
                private static readonly object SelectedIndexChangedEvent = new object();\r
-\r
-               private object             dataSource;\r
+
+               #if !NET_1_2\r
+               private object             dataSource;
+               #endif
+               \r
                private ListItemCollection items;\r
 \r
                private int cachedSelectedIndex = -1;\r
                private string cachedSelectedValue;
-\r
+
+               #if !NET_1_2\r
                public ListControl(): base(HtmlTextWriterTag.Select)\r
                {\r
-               }\r
+               }
+               #else
+               protected override HtmlTextWriterTag TagKey {
+                       get { return HtmlTextWriterTag.Select; }
+               }
+               #endif\r
 
                [WebCategory ("Action")]
                [WebSysDescription ("Raised when the selected index entry has changed.")]\r
@@ -69,6 +85,7 @@ namespace System.Web.UI.WebControls
                        }\r
                }\r
 
+               #if !NET_1_2
                [DefaultValue (""), WebCategory ("Data")]
                [WebSysDescription ("The name of the table that is used for binding when a DataSource is specified.")]\r
                public virtual string DataMember\r
@@ -104,7 +121,8 @@ namespace System.Web.UI.WebControls
                                }
                                throw new ArgumentException(HttpRuntime.FormatResourceString(ID, "Invalid DataSource Type"));\r
                        }\r
-               }\r
+               }
+               #endif\r
 
                [DefaultValue (""), WebCategory ("Data")]
                [WebSysDescription ("The field in the datatable that provides the text entry.")]\r
@@ -297,12 +315,18 @@ namespace System.Web.UI.WebControls
                                }\r
                        }\r
                }\r
-\r
+
+               #if NET_1_2
+               protected override void PerformDataBinding ()
+               {
+                       base.PerformDataBinding ();
+                       IEnumerable ds = GetResolvedDataSource ();
+               #else\r
                protected override void OnDataBinding(EventArgs e)\r
                {\r
                        base.OnDataBinding(e);\r
-                       IEnumerable ds = DataSourceHelper.GetResolvedDataSource (DataSource, DataMember);\r
-\r
+                       IEnumerable ds = DataSourceHelper.GetResolvedDataSource (DataSource, DataMember);
+               #endif\r
                        if(ds != null) {\r
                                string dtf = DataTextField;\r
                                string dvf = DataValueField;\r