使用了Master的ASP.NET Content页面无法直接引用外部样式或内嵌样式,因为CSS样式必须出现在HTML的head标签内,而Content页面自身是不能包含head的。不过通过编程,很容易做到这一点,以下就是解决方案(也可以用相同的手段来添加其他HTML元素)。先定义以下两个方法:
- 内嵌样式支持
protected void AddInlineStyle(string style)
{
HtmlGenericControl node = new
HtmlGenericControl("style");
node.Attributes.Add("type", "text/css");
node.InnerText = style;
Page.Header.Controls.Add(node);
} - 外部样式支持
protected void AddLinkedStyle(string url)
{
HtmlLink link = new HtmlLink();
link.Attributes.Add("type", "text/css");
link.Attributes.Add("rel", "stylesheet");
link.Attributes.Add("href", url);
Page.Header.Controls.Add(link);
}