日期:2014-05-18  浏览次数:20587 次

关于在同一母版页中使用多个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的形式保存的,所以不会对页面传输产生什么影响,因为本地的浏览器都会缓存的。