2010-03-19 42 views
4

我喜欢10个aspx页面(junior_class_students1.aspx -... 10.aspx)。它们在后面都有相同的母版页(class_students.master)。每次我加载一个页面,我希望主页的背景颜色可以改变,我可以指定每页。 所以... students1.aspx随后的.master ... students2.aspx随后的.master ... students3.aspx随后的.master当他们在vb.net中加载时,从不同页面更改母版页面的颜色

如何才能实现这一目标?

回答

0

CSS类。

您可以在body和contentplaceholder中放置一个填充body的div。

母版页

<body> 
<asp:ContentPlaceHolder id="cph" runat="server" /> 
</body> 

该div可以有单页uniuqe ID。

Cntent页

<asp:Content id="cnt" ContentPlaceHolderID="cph"> 
    <div id="Page1" class="container"> 
     <!--Page Content--> 
    </div> 
</asp:Content> 

然后CSS可能是这样的:

div.container 
{ 
    width: 100%; 
    height: 100%; 
} 
div#Page1 
{ 
    background-color: green; 
} 
div#Page2 
{ 
    background-color: blue; 
} 
... 
+0

等待。在id =“cnt”的第二段代码上。在内容页面中,在我的情况下..students1.aspx,2,3 ...现在,如果我给出一个div 100%的高度和宽度,那么这将使主页面体更改颜色? – fered 2010-03-19 17:25:44

+0

我得到的是你应该放置div来填充整个身体。您可以将内容放在内容页面中,但我更喜欢在我的母版页中放置该表格。 – 2010-03-19 17:48:30

4

请记住,内容所有者可以去在页面的任何地方。这是可以做到这样的事情:

<div style="background-color:<asp:ContentPlaceHolder id="divColor" runat="server" />"></div> 

然后在你的页面有这样的:

<asp:Content ID="divColorContent" ContentPlaceHolderID="divColor" Runat="Server">green</asp:Content> 
+0

im confused ..当每个新页面加载时,这将改变母版页的主体颜色? – fered 2010-03-19 17:37:22

+0

+1尼斯解决方案鲍勃! – 2010-03-19 18:00:55

+0

母版页和使用它的页面是相同的页面。 ASP.NET将它们组合成一个页面。以上将最终变成一个有

的页面 – Bob 2010-03-19 18:10:23