关于在同一母版页中使用多个CSS文件的最终解决方案!
以前都用.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.....
[解决办法]
我不是这么处理,我是把所有的css都放在主题下面 这样就可以随便调用了。
全局的css控制放在一个文件,其他的分别放。
只要不是全局的都要给css命名。
这样就可以在页面中随意调用了。
并且css是通过link的形式保存的,所以不会对页面传输产生什么影响,因为本地的浏览器都会缓存的。