现在这些担忧,都在 Asp.NET 2.0 中得到了完善的解决。首先,您可以通过简单的代码编写实现复杂的功能;其次,Asp.NET 2.0 在处理主题的问题时提供了清晰的目录结构,使得资源文件的层级关系非常清晰,在易于查找和管理的同时,提供的良好的扩展性。
皮肤是应用到一个控件上的样式信息,这些内容保存在.skin文件当中,可以对皮肤用skinID命名,然后控件在使用皮肤时,设置它的skinID属性。如果不设置,则使用其默认值。主题实际上是皮肤的集合,保存在Themes子目录中。主题又分为Global Themes(对web server而言)和Local Themes(对具体的应用页言)。在web.config文件中应用主题
</system.web>
全局主题位于c:\windows\Microsoft.net\2.0\asp.net ClientFiles目录下局部主题位置web应用程序的虚拟根目录下
我们说通俗点,你知道动网论坛那个换肤吧?其实啊,他就是通过切换CSS样式表来实现的,但是ASP编写的动网论坛没有用到控件,可我们的.NET好多都是控件,比如说我们的GridView吧,你要对他实现CSS控制那是多困难的事,所以微软也应这个缺点增加了主题,主题说穿了就是控件外观和样式(我们在属性配置节里面看到的那些东西了),所以综上所述,主题和皮肤就是 控件外观文件 和 CSS样式表的综合体,在应用中,他们也被互补的应用.
在使用中要切记一点,两套主题结构应该是一样的,例如,我们A主题中有一个CSS对TD标签定义了,但是B主题中并没有这个标签,那么不好意思,假设你最开始指定这个页的主题为A ,那么即便切换到B ,TD标签仍然会沿用A主题里的TD定义,控件主题也是一样.
如果使用第二种的话就好点,呵呵,但是第二种又太好欺负了,他总试图去迁就所有,结果闹出很多鬼都不想看到的结果.当然,这些随着设计经验的丰富,都是可以避免的.