Implemented a few missing properties
[mono.git] / mcs / class / System.Web / System.Web.UI / ControlBuilder.cs
index c3394fa0776a2ddd7caa452c3cfd187815b0c6f7..67066a364ceef021dc310646e9209cb26ca8e730 100644 (file)
@@ -63,6 +63,7 @@ namespace System.Web.UI {
 
                internal bool haveParserVariable;
                internal CodeMemberMethod method;
+               internal CodeStatementCollection methodStatements;
                internal CodeMemberMethod renderMethod;
                internal int renderIndex;
                internal bool isProperty;
@@ -154,7 +155,7 @@ namespace System.Web.UI {
                }
 
 #if NET_2_0
-               public
+               public virtual
 #else
                internal
 #endif
@@ -350,6 +351,8 @@ namespace System.Web.UI {
                                builder = new CollectionBuilder ();
                        } else if (typeof (ITemplate).IsAssignableFrom (propType)) {
                                builder = new TemplateBuilder (prop);
+                       } else if (typeof (string) == propType) {
+                               builder = new StringPropertyBuilder (prop.Name);
                        } else {
                                builder = CreateBuilderFromType (parser, parentBuilder, propType, prop.Name,
                                                                 null, atts, line, fileName);
@@ -497,6 +500,20 @@ namespace System.Web.UI {
                {
                        return CreateInstance ();
                }
+
+               internal void ResetState()
+               {
+                       renderIndex = 0;
+                       haveParserVariable = false;
+
+                       if (Children != null) {
+                               foreach (object child in Children) {
+                                       ControlBuilder cb = child as ControlBuilder;
+                                       if (cb != null)
+                                               cb.ResetState ();
+                               }
+                       }
+               }
 #endif
        }
 }