Ver Fonte

use LinkedStyleSheets from the PageTheme and from StyleSheetPageTheme to insert links in page header.

svn path=/trunk/mcs/; revision=60577
Andrew Skiba há 19 anos atrás
pai
commit
95fe0dcce6

+ 5 - 0
mcs/class/System.Web/System.Web.UI/ChangeLog

@@ -1,3 +1,8 @@
+2006-05-11  Andrew Skiba  <[email protected]>
+
+	* Page.cs, PageTheme.cs: This patch uses LinkedStyleSheets from the
+	PageTheme and from StyleSheetPageTheme to insert links in page header.
+
 2006-05-10  Andrew Skiba  <[email protected]>
 
 	* TemlpateParser.cs: surround file name with quotes

+ 22 - 0
mcs/class/System.Web/System.Web.UI/Page.cs

@@ -1740,6 +1740,28 @@ public class Page : TemplateControl, IHttpHandler
 		return dataItemCtx.Peek ();
 	}
 
+	protected internal override void OnInit (EventArgs e)
+	{
+		base.OnInit (e);
+		if (Header == null)
+			return;
+
+		ArrayList themes = new ArrayList();
+
+		if (StyleSheetPageTheme != null)
+			themes.AddRange (StyleSheetPageTheme.GetStyleSheets ());
+		if (PageTheme != null)
+			themes.AddRange (PageTheme.GetStyleSheets ());
+		
+		foreach (string lss in themes) {
+			HtmlLink hl = new HtmlLink ();
+			hl.Href = lss;
+			hl.Attributes["type"] = "text/css";
+			hl.Attributes["rel"] = "stylesheet";
+			Header.Controls.Add (hl);
+		}
+	}
+
 	#endif
 }
 }

+ 4 - 0
mcs/class/System.Web/System.Web.UI/PageTheme.cs

@@ -116,6 +116,10 @@ namespace System.Web.UI {
 			object key = PageTheme.CreateSkinKey (controlType, skinID);
 			return ControlSkins[key] as ControlSkin;
 		}
+
+		internal string [] GetStyleSheets () {
+			return LinkedStyleSheets;
+		}
 	}
 }