2008-09-26 Marek Habersack <mhabersack@novell.com>
[mono.git] / mcs / class / System.Web / System.Web.UI.HtmlControls / HtmlHead.cs
index b5e89415311f1fb27a63fd38603fec848832c7d3..36f5c39836fa227c44283cb1b934d08aa57f3e13 100644 (file)
@@ -43,8 +43,7 @@ namespace System.Web.UI.HtmlControls
 
                string titleText;
                HtmlTitle title;
-               Hashtable metadata;
-               ArrayList styleSheets;
+               //Hashtable metadata;
                StyleSheetBag styleSheet;
                
                public HtmlHead(): base("head") {}
@@ -55,10 +54,16 @@ namespace System.Web.UI.HtmlControls
                
                protected internal override void OnInit (EventArgs e)
                {
+                       base.OnInit (e);
+                       Page page = Page;
+                       
+                       if (page == null)
+                               throw new HttpException ("The <head runat=\"server\"> control requires a page.");
+                       
                        //You can only have one <head runat="server"> control on a page.
-                       if(Page.Header!=null)
+                       if(page.Header != null)
                                throw new HttpException ("You can only have one <head runat=\"server\"> control on a page.");
-                       Page.SetHeader (this);
+                       page.SetHeader (this);
                }
                
                protected internal override void RenderChildren (HtmlTextWriter writer)
@@ -66,14 +71,14 @@ namespace System.Web.UI.HtmlControls
                        EnsureTitleControl ();
 
                        base.RenderChildren (writer);
-                       if (metadata != null) {
-                               foreach (DictionaryEntry entry in metadata) {
-                                       writer.AddAttribute ("name", entry.Key.ToString ());
-                                       writer.AddAttribute ("content", entry.Value.ToString ());
-                                       writer.RenderBeginTag (HtmlTextWriterTag.Meta);
-                                       writer.RenderEndTag ();
-                               }
-                       }
+//                     if (metadata != null) {
+//                             foreach (DictionaryEntry entry in metadata) {
+//                                     writer.AddAttribute ("name", entry.Key.ToString ());
+//                                     writer.AddAttribute ("content", entry.Value.ToString ());
+//                                     writer.RenderBeginTag (HtmlTextWriterTag.Meta);
+//                                     writer.RenderEndTag ();
+//                             }
+//                     }
                        
                        if (styleSheet != null)
                                styleSheet.Render (writer);
@@ -109,19 +114,19 @@ namespace System.Web.UI.HtmlControls
                        Controls.Add (t);
                }
 
-               IList LinkedStyleSheets {
-                       get {
-                               if (styleSheets == null) styleSheets = new ArrayList ();
-                               return styleSheets;
-                       }
-               } 
-               
-               IDictionary Metadata {
-                       get {
-                               if (metadata == null) metadata = new Hashtable ();
-                               return metadata;
-                       }
-               }
+//             IList LinkedStyleSheets {
+//                     get {
+//                             if (styleSheets == null) styleSheets = new ArrayList ();
+//                             return styleSheets;
+//                     }
+//             } 
+//             
+//             IDictionary Metadata {
+//                     get {
+//                             if (metadata == null) metadata = new Hashtable ();
+//                             return metadata;
+//                     }
+//             }
                
                public IStyleSheet StyleSheet {
                        get {
@@ -184,7 +189,7 @@ namespace System.Web.UI.HtmlControls
                
                public void Render (HtmlTextWriter writer)
                {
-                       writer.AddAttribute ("type", "text/css");
+                       writer.AddAttribute ("type", "text/css", false);
                        writer.RenderBeginTag (HtmlTextWriterTag.Style);
 
                        foreach (StyleEntry entry in entries) {