我想以編程方式在頭部添加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