Я хочу добавить StyleSheets программно в разделе head, но мне показалось, что одному из примеров, который я видел, нужно много строк кода, чтобы добавить только одну таблицу стилей, хотя мне может понадобиться много:
Пример кода:
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
, но при сборке выдает ошибку, которая говорит, что я не могу объявить подобное .
Не должно быть так сложно добавить много стилей.
Сложно.