Изменить CSS динамически - PullRequest
       6

Изменить CSS динамически

7 голосов
/ 01 октября 2009

Мне нужно определить, какой CSS должен применяться на некоторых конкретных страницах. У меня есть главная страница с дочерними страницами, а default.aspx и services.aspx являются дочерними страницами главной страницы. То, что я хочу, это когда пользователь переходит Default.aspx или Services.aspx , система должна применять DefaultCSS файл, в противном случае я хочу применить некоторые обычные CSS файл.

Как я могу это сделать и на этот вопрос, какая практика будет лучше.

Заранее спасибо.

Ответы [ 4 ]

9 голосов
/ 01 октября 2009

Я думаю, что нашел то, что искал:

protected void Page_Init(object sender, EventArgs e)
    {
        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);
    }

Также MSDN описывал, как этого добиться: Класс HtmlLink

8 голосов
/ 01 октября 2009

Это гораздо проще и гибче сделать:

MasterPage:

<head>
    <asp:ContentPlaceHolder ID="head" runat="server">
    </asp:ContentPlaceHolder>
</head>

Child-Page 1:

<asp:Content ID="Content1" ContentPlaceHolderID="head" runat="Server">
    <link href="css/fancyforms.css" rel="stylesheet" type="text/css" />
</asp:Content>

Child-Page 2:

<asp:Content ID="Content1" ContentPlaceHolderID="head" runat="Server">
    <link href="css/NOTfancyforms.css" rel="stylesheet" type="text/css" />
</asp:Content>
2 голосов
/ 01 октября 2009

Возможно, вы захотите исследовать и темы.

http://msdn.microsoft.com/en-us/library/ykzx33wh.aspx

1 голос
/ 01 октября 2009

Вы можете включить CSS-файл декларативно, т.е. в файл *.aspx: см., Например, этот ответ .

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...