Reputation: 81711
I need to determine which CSS should be applied on some specific pages. I have a master page which has children and default.aspx and services.aspx are ones of the children of Master page. What I want to is when user navigates Default.aspx or Services.aspx,system should apply DefaultCSS file otherwise I want to apply some ordinary css file.
How can I do that and for this question what kind of practice would be better.
Thanks in advance.
Upvotes: 7
Views: 17079
Reputation:
You might want to investigate using themes as well.
http://msdn.microsoft.com/en-us/library/ykzx33wh.aspx
Upvotes: 2
Reputation: 20617
Its much easier and more flexible to do this:
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>
Upvotes: 7
Reputation: 56083
You can include the CSS file declaratively, i.e. in the *.aspx
file: see for example this answer.
Upvotes: 1
Reputation: 81711
I think I've found what I am looking for :
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);
}
Also MSDN was describing how to achieve this : HtmlLink Class
Upvotes: 9