- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
主题与样式 主题样式 在本章中将首先讲述网站显示风格的设计。随着网站功能的增强,网站逐渐变得庞大起来。现在一个网站包括几十、上百个网页已是常事。这种情况下,如何简化对众多网页的设计和维护,特别是如何解决好对一批具有同一风格网页界面的设计和维护,就成为了比较普遍的难题。ASP.NET 2.0提供的主题样式技术,从统一控件的外貌、局部再到全局风格的一致提供了最佳的解决方案。本章将讲述这种技术。 主 题 1 概述 2 创建主题的方法 3 同一控件多种定义的方法 4 将主题文件应用于整个应用程序 5.主题文件控制Html控件的方法 6.在页面中更换主题的方法 7. stylesheettheme 和 theme 的区别 概述 主题(Theme)是ASP.NET 2.0提供的一种新技术。利用主题可以为一批服务器控件定义外貌。例如,可以定义一批TextBox或者Button服务器控件的底色、前景色;定义buildlist控件的样式等。主题与级联样式表(CSS)不同。级联样式表只能用来定义HTML的标记。而主题可以用来定义服务器控件。如果将两者结合就可以定义不同类型的控件。 1.2 创建主题的方法 系统为创建主题制定了一些规则,但没有提供什么特殊的工具。这些规则是:对控件显示属性的定义必须放在以“.skin”为后缀的皮肤文件中,而皮肤文件必须放在“主题目录”下,而主题目录又必须放在专用目录App_Themes的下面。每个专用目录下可以放多个主题目录;每个主题目录下面可以放多个皮肤文件。只有遵守这些规定,在皮肤文件中定义的显示属性才能够起作用。 下面举例说明创建的过程。 (1) 右击网站名,选择【添加文件夹】命令,然后选择【主题文件夹】项,系统将会在应用程序的根目录下自动生成一个专用目录App_Themes,并且在这个专用目录下放置主题文件夹,这里给文件夹取名为Themes1。 (2) 右击主题文件夹名,在弹出的菜单中选择【外观文件】。 (3) 弹出一皮肤文件的框架,可以给该文件改名,但是文件的后缀必须是“.skin”,这里取名为SkinFile.skin。 专用目录、主题目录、皮肤文件三者之间的关系如图16.1所示。 (4) 在皮肤文件(这里是SkinFile.skin)中给TextBox和Button两种控件定义显示的语句如下。 asp:TextBox BackColor = Orange ForeColor = DarkGreen Runat = server / asp:Button BackColor = Orange ForeColor = DarkGreen Font-Bold = true“ 图16.1 专用目录、主题目录和皮肤文件的关系 Runat= server / 文件中将两种控件的背景色都定义成Orange,前景色定义成DarkGreen。对Button 控件的字体定义成粗体。 值得注意的是,有的控件(如LoginView、User Control等)不能用skin文件定义外貌。能够定义的控件也只能定义它们的外貌属性,其他行为属性(如AutoPostBack属性等)不能在这里定义。 (5) 在同一个主题目录下,不管定义了多少个皮肤文件,系统都会自动将它们合并成为一个文件。 (6) 项目中凡需要使用本主题的网页,都需要在网页的定义语句增加“Theme = [主题目录]”的属性,例如: %@ Page Theme=Themes1… % 在设计阶段,并看不出皮肤文件中定义的作用,只有当程序运行时,在浏览器中才能够看到控件外貌的变化。图16.2就是TextBox和Button控件在上述定义中显示的界面。 1.2 创建主题的方法 1.2 创建主题的方法 1.3 同一控件多种定义的方法 有时需要对同一种控件定义多种显示风格,此时可以在皮肤文件中,在控件显示的定义中用SkinID属性来区别。例如,在TextBox.skin文件中对TextBox的显示定义了三种显示风格: asp:TextBox BackColor=Green Runat=Server / asp:TextBox SkinID=BlueTextBox BackColor=Blue Runat=Server / asp:TextBox SkinID=RedTextBox BackColor=Red Runat=Server / 1.3 同一控件多种定义的方法 其中第一个定义
文档评论(0)