以前都用.NET1.1没遇到这问题,现在换了2.0开始学着使用母版,结果就遇到了这个问题,在百度上一搜索才发现有不少人提出这个问题,但没找到好的解决方案,可能是因为使用母版的人很少的原因吧,因过试验,最终通过一个很简便的方法解决了这个问题
当网站中的某一母版被多个页面使用时,多个页又需要调用不同的CSS,但在母版中只能引用一个CSS,我的解决方法是:
在母版页Head中首先将母版页中所用的样式直接写出来,如:
<style
type="text/css">
#Banner
{
width: 955px;
height:
267px;
background: url(/Image/banner.jpg)
no-repeat;
}
</style>
<asp:literal id="test" runat="server"></asp:literal>
随后在此位置放一个Literal控件,这样一来以后需要改版样式只需要在此一处修改,通常母版页的样式不会过于复杂所以放在页中没有什么问题,接下来在使用母版页的某个内容页的CS文件中加入如下代码以引用此页所需的CSS文件:
Literal
l = (Literal)Master.FindControl("母版页中Literal控件的ID");
l.Text = "<link
href=‘你的CSS文件‘ rel=‘stylesheet‘ type=‘text/css‘ />";
使用这种方法时有一点问题要注意,在母版页中直接定义的样式名称不要与内容页引用的CSS文件中样式名称重复,否则会出现覆盖的问题尤其是body的定义要注意.
不知道高手们有没有更好的解决方法,抛砖引玉ING.....