我想以编程方式在头部添加StyleSheets,但我看到的一个示例似乎需要多行代码才能添加一个样式表,即使我可能需要很多:在Asp.Net中以编程方式添加StyleSheets
示例代码:
HtmlLink css = new HtmlLink();
css.Href = "css/fancyforms.css";
css.Attributes["rel"] = "stylesheet";
css.Attributes["type"] = "text/css";
css.Attributes["media"] = "all";
Page.Header.Controls.Add(css);
我也用Page.Header.RenderControl()
方法,但它也不能工作。对象null抛出错误。
我也用过Page.Header.InnerHtml
和InnerText += "<link .... "/>
的东西,但是他们抛出了我认为常见错误的文字错误。
我用这个代码:
List<Literal> cssFiles = new List<Literal>();
cssFiles.Add(new Literal() { Text = @"<link href=""" + ResolveUrl("~/Resources/Styles/MainMaster/MainDesign.css") + @""" type=""text/css"" rel=""stylesheet"" />" });
cssFiles.Add(new Literal() { Text = @"<link href=""" + ResolveUrl("~/Resources/Styles/MainMaster/MainLayout.css") + @""" type=""text/css"" rel=""stylesheet"" />" });
AddStyleRange(cssFiles);
private void AddStyleRange(List<Literal> cssFiles)
{
foreach (Literal item in cssFiles)
{
this.Header.Controls.Add(item);
}
}
它曾在第一,但是当我改变它的网页停止工作。
我使用的母版页,我对Master.cs
文件编写这些代码,也有一些人建议使用this.Header
代替Page.Header
,但是当我建立它抛出它说我不能宣布这样的错误。
它不应该很难添加很多风格。
它变得越来越复杂。
我发现的一个问题:确保你的
标签有runat =“server”或代码不会找到它。 – SteveCav 2017-01-09 00:51:18