我需要确定哪些CSS应该应用于某些特定页面。我有一个母版页,其中有子页面,并且default.aspx和services.aspx是Master页面的子页面之一。当用户浏览Default.aspx的或Services.aspx我想是,系统应适用DefaultCSS文件,否则我想申请一些普通CSS文件。动态更改CSS
我该怎么做,对于这个问题,什么样的做法会更好。
在此先感谢。
我需要确定哪些CSS应该应用于某些特定页面。我有一个母版页,其中有子页面,并且default.aspx和services.aspx是Master页面的子页面之一。当用户浏览Default.aspx的或Services.aspx我想是,系统应适用DefaultCSS文件,否则我想申请一些普通CSS文件。动态更改CSS
我该怎么做,对于这个问题,什么样的做法会更好。
在此先感谢。
我想我已经找到了我要找:
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 Class
可以包括声明的CSS文件,即在*.aspx
文件:例如参见this answer。
它更容易和更灵活地做到这一点:
母版:
<head>
<asp:ContentPlaceHolder ID="head" runat="server">
</asp:ContentPlaceHolder>
</head>
儿童第1页:
<asp:Content ID="Content1" ContentPlaceHolderID="head" runat="Server">
<link href="css/fancyforms.css" rel="stylesheet" type="text/css" />
</asp:Content>
儿童第2页:
<asp:Content ID="Content1" ContentPlaceHolderID="head" runat="Server">
<link href="css/NOTfancyforms.css" rel="stylesheet" type="text/css" />
</asp:Content>
叶氏,你是对的,但我不知道,我只是想获得幻想有关,但我很喜欢你的解决方案比我多。 – Tarik 2009-10-01 02:34:22
这种方法的好处是,如果您更改.css,.js,meta标签......无论如何,您不必重新编译任何内容。您还将在Visual Studio中为您的.aspx获得设计时支持。 – 2009-10-01 02:36:50
你说得对,这些好处不能眨眼。谢谢。 – Tarik 2009-10-01 02:40:45