在maste页面中,我设置了定义布局的样式表。
<link id="layoutStylesheet" href="CSS/Layout3Col.css" rel="stylesheet" type="text/css" runat="server" />
我有一个继承母版页的ShowDoc.aspx页面 我想在查询字符串中将特定参数传递给ShowDoc.aspx时加载不同的css文件。
我该怎么做? 我应该在母版页中定义公共属性,以便showDoc.aspx可以访问它并更改layoutStylesheet吗?
答案 0 :(得分:9)
您可以使用Page_Load中ShowDoc页面上的Master属性找到样式表链接,并在那里重新定义Href属性。
HtmlLink link = Page.Master.FindControl( "layoutStyleSheet" ) as HtmlLink;
link.Href = ...your chosen stylesheet...
答案 1 :(得分:0)
一些不同的方法,但最简单的方法是在主页的Form_Load中添加这种代码:
switch (Request["whateverstyle"]) {
case "style1" : layoutStylesheet.Attributes["href"] = "style1.css";
case "style2" : layoutStylesheet.Attributes["href"] = "style2.css";
...
}
答案 2 :(得分:0)
根据您想要更改此页面的页数以及同时更改了多少其他页面,您可能需要考虑嵌套母版页。
根母版页可以定义doctype / html / head / body和所有共享内容;您的“子”母版页可以将其用作自己的母版页。页面将仅使用子母版页。
请注意,您可以在Form外使用ContentPlaceHolder控件,因此可以将其放在HEAD元素中。