C# 动态更改CSS
我需要确定哪些CSS应用于某些特定页面。我有一个母版页,它有子项和默认值。aspx和服务。aspx是母版页的子项之一。我想要的是当用户导航Default.aspx或Services.aspx时,系统应该应用DefaultCSS文件,否则我想应用一些普通css文件 我如何才能做到这一点,对于这个问题,什么样的做法会更好C# 动态更改CSS,c#,asp.net,css,C#,Asp.net,Css,我需要确定哪些CSS应用于某些特定页面。我有一个母版页,它有子项和默认值。aspx和服务。aspx是母版页的子项之一。我想要的是当用户导航Default.aspx或Services.aspx时,系统应该应用DefaultCSS文件,否则我想应用一些普通css文件 我如何才能做到这一点,对于这个问题,什么样的做法会更好 提前谢谢。我想我找到了我要找的东西: protected void Page_Init(object sender, EventArgs e) { Html
提前谢谢。我想我找到了我要找的东西:
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还描述了如何实现这一点:您可以声明性地包括CSS文件,即在
*.aspx
文件中:例如,请参见。这样做更容易、更灵活:
母版页:
<head>
<asp:ContentPlaceHolder ID="head" runat="server">
</asp:ContentPlaceHolder>
</head>
<asp:Content ID="Content1" ContentPlaceHolderID="head" runat="Server">
<link href="css/fancyforms.css" rel="stylesheet" type="text/css" />
</asp:Content>
<asp:Content ID="Content1" ContentPlaceHolderID="head" runat="Server">
<link href="css/NOTfancyforms.css" rel="stylesheet" type="text/css" />
</asp:Content>
子页面1:
<head>
<asp:ContentPlaceHolder ID="head" runat="server">
</asp:ContentPlaceHolder>
</head>
<asp:Content ID="Content1" ContentPlaceHolderID="head" runat="Server">
<link href="css/fancyforms.css" rel="stylesheet" type="text/css" />
</asp:Content>
<asp:Content ID="Content1" ContentPlaceHolderID="head" runat="Server">
<link href="css/NOTfancyforms.css" rel="stylesheet" type="text/css" />
</asp:Content>
子页面2:
<head>
<asp:ContentPlaceHolder ID="head" runat="server">
</asp:ContentPlaceHolder>
</head>
<asp:Content ID="Content1" ContentPlaceHolderID="head" runat="Server">
<link href="css/fancyforms.css" rel="stylesheet" type="text/css" />
</asp:Content>
<asp:Content ID="Content1" ContentPlaceHolderID="head" runat="Server">
<link href="css/NOTfancyforms.css" rel="stylesheet" type="text/css" />
</asp:Content>
您可能还需要研究使用主题
是的,你是对的,但我不知道我只是想对这一点产生兴趣,但我更喜欢你的解决方案。这种方法的好处是,如果你更改.css、.js、meta标记……不管怎样,你都不必重新编译任何东西。您还将在Visual Studio中为您的.aspx获得设计时支持。谢谢,实际上这也是一种很好的方法。