ASP.NET 主题和皮肤

Window XP的样式终于被可爱的M$搬到ASP.NET中了。这样的东西让我想到了M$的恐怖的想法,原先150智商现在被分解了,150智商=微软解决方案+50智商+已经学会了容忍不完美和失误。当然,如果您的智商已经是150的LEVEL,那么使用微软解决方案可能会导致溢出。(不在讨论范围之内)

    其实用样式和主题这样的词并不能很好的说明ASP.NET 2.0中出现的这些东西。因为它很容易和我们的网页样式表css混淆起来。实际上,可以在主题和皮肤中可以定义的绝不仅仅是CSS样式而已。QuickStart中称之为服务器的端的样式,这样会更合适一点。在主题和皮肤中,绝大部分的内容都是可以使用定义的,当然不包括Id。

    所有的主题和皮肤都必须放在一个叫App_Themes的目录下,这个目录可以是应用程序级的(把它放在你的站点目录下)或者是全局的(放在.net的目录下,或者放在IIS的一个目录下,具体参见帮助)。主题实际上就是多个皮肤的集合,在App_Themes下的子目录名就是主题名。而主题名下的后缀名为.skin的文件就是皮肤文件。

    皮肤文件的写法更是傻瓜式的,其实就是把原先写在控件下的属性移至.skin下。写法和.aspx文件基本上是一样的,只不过没有Id属性,却多了一个SkinId的属性。不用怀疑,在页面中使用同样的SkinId就可以使用这个皮肤定义的样式了。而在皮肤文件中没有使用SkinId属性的控件,将是默认应用到页面中所有没有指定SkinId的同类控件上。

    不好意思,忘记了说在Page指令或者程序代码中要显示指定Theme属性,属性的取值就是App_Themes下子文件夹的名字。另外还有一个StyleSheetTheme属性,也是同样的取值范围。晕乎哉?传说Theme属性>页面中指定的属性>StyleSheetTheme属性中指定的属性。但是例子中上述说法很明显是成立的。

    不知道大叔大婶姐姐哥哥们有没有考虑过,在一个站点中出现N次男、女这类的下拉框时该怎么办?在每个页面写它的ListItem吗?绑定数据库或XML?漫漫的人生就在这样的思考中消失?如果是这样的话,那么你应该开始喜欢上皮肤了,您可以把你的简单的数据选择框的内容放到皮肤文件里去了。

    在皮肤文件中甚至可以出现数据绑定表达式!当然这个是很有限的,仅在数据显示控件,如DataList,DataGrid,Repeater,GridView等(VS2005工具栏中它们被放置在一个单独的组里)。并且必须使用新的Eval或Bind表达式,并且不能在皮肤里执行绑定。

    在皮肤文件中也可以使用CSS或者图片等资源,不用担心路径问题,M$已经帮我们解决了,当然,CSS使用起来得小心了,因为它可以影响到全局。

    最后,如果要在整个站点使用同一个主题的话,那么在Web.Config中指定吧。在System.Web下增加这样的东东<pages theme="ExampleTheme"/>

 

转自:http://www.webshu.net/jiaocheng/programme/ASPNET/200606/1237.html

说明: 这是本人效仿126邮箱界面在美工的配合下做的一公用界面、基本上适合很多信息管理系统的界面要求。本人的CSS和JAVASCIRPT的功底有限,开发的东西难免会有些BUG或者很肤浅的地方,希望和朋友们一起探讨解决其中的一些问题。也非常希望高手们优化我JS。 功能介绍: 1、可以换皮肤、其中住框架、具体页面可以统一使用皮肤。 2、tab页标题有右键菜单,新开、全屏打开,刷新。双击标题也可以刷新。 3、可以收放菜单栏。 使用方法: 基本上主框架页面不需要作任何的变动了,直接就可以用,就不讲了。 在这里主要讲一下使用tabControl: tabControl新开一个页面实际上是通过JS在主显示区域建立一个iframe 把这个iframe的src 指向我们指定的页面。 本源码由16Aspx调测并整理 商业版资源请在作者或者16Aspx授权范围内使用,否则后果自负! 如需转载免费版请注明作者信息及来源,以示对他人劳动成果的尊重! 获得更有效最新的帮助技术支持看这里:http://www.16aspx.com/ ╭═══════════════╮ ║ .Net源码 控件专业站 ║ ╭══════┤ http://www.16aspx.com ├═════╮ ║ ║论坛:http://www.16aspx.com/forumindex.aspx ║ ║ ╰═══════════════ ╯ ║  ║ ║ ║ ║  ║16Aspx声明: ║ ║ 1) 本站不保证所提供软件或程序的完整性和安全性。 ║ ║ 2) 转载本站提供的资源请勿删除本说明文件。 ║ ║ 3) 本站源码为网上搜集或网友提供,如果涉及或侵害到您的版║ ║ 请立即写信通知我们。 ║ ║ 4) 本站提供代码只可供研究使用,请在下载24小时内删除, ║ ║ 切勿用于商业用途,由此引起一切后果与本站无关。 ║ ║ 5) 源码后续升级或修补,我们会在该源码评论中发布! ║  ║ ║ ║ ║  ║项目承接:Asp.Net网站,Asp.Net管理系统开发,Winform系统开发 ║ ║ Silverlight、WPF开发,各类管理系统工具开发 ║ ║ ║ ║网站广告投放:QQ: 330199865,Email: amomzk@hotmail.com ║ ║ ║ ║ 本站专注于C# .NET技术讨论 ║ ║ 联系方式 : amomzk@hotmail.com ║ ║ ╭───────────────────────╮ ║ ╰══┤ .Net源码专业站 http://www.16aspx.com ├══╯ ╰───────────────────────╯ 友情提示: 一般数据库文件默认在DB_16aspx文件夹下 更多使用帮助和协议请浏览http://www.16aspx.com/ 以上相关内容变更请以16Aspx官方网站最终显示为准
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值