Динамическая загрузка CSS в ASP.NET - PullRequest
3 голосов
/ 06 января 2011

Я загружаю CSS в мою главную страницу ...

<link rel="stylesheet" href="css/mystyles.css" title="styles" type="text/css" />

Теперь я хочу загрузить это динамически в соответствии с ключом web.config. Есть ли лучший / стандартный способ сделать это, или моя идея стандартная?

Спасибо

Ответы [ 4 ]

6 голосов
/ 06 января 2011

Вариант 1:

Вы можете добавить атрибут runat = "server" в ссылку css и установить значение href из кода, стоящего за файлом, где вы можете его динамически установить.

Вариант 2:

HtmlLink link = new HtmlLink();
link.Attributes["href"] = filename;
link.Attributes["type"] = "text/css";
link.Attributes["rel"] = "stylesheet";
Page.Header.Controls.Add(link);
1 голос
/ 06 января 2011

Вариант 4: Добавить всю ссылку на заголовок в коде

void AddStylesheet(string ssRef) {
    HtmlHead head = Page.Header;

    Literal l = new Literal(); 
    l.Text = "<link href=\""+ssRef + "\" type=\"text/css\" rel=\"stylesheet\" />";
    head.Controls.Add(l);
}   

..., который по сути аналогичен варианту 2

0 голосов
/ 06 июля 2011

Вариант 5:

Поместите свой CSS в новую подпапку App_Themes и используйте тему web.config, чтобы установить имя темы.Затем загрузите тему из кода вашей главной страницы.Будьте осторожны, хотя;Темы загружают файлы CSS в алфавитном порядке.

0 голосов
/ 06 января 2011

Вариант 3:

В вашем теге head вы можете сделать таблицу стилей динамической, сохранив путь к таблице стилей в переменной сеанса:

 <link rel="stylesheet" type="text/css" href="<%=Session("PathToStyleSheet") %>" />
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...