心情 天空

 




 










访




R
S
S

我的 Blog:
jybbh 最新的 20 条日志
[Ken的日志]
[工作心得]
[编程相关]
[潮汕文化]
[计算机相关]
[WEB相关]
[JAVA相关]
[Eclipse相关]
[Tomcat相关]
[SQL]
全站 Blog:
全站最新的 20 条日志
xml+xsl+htc,web控件开发的理想组合 [2006-2-15]
jybbh 发表在 WEB相关

最近,尝试着写web下的listview控件,listview一般有四种显示模式——平铺、图标、列表和详细信息。这些显示模式唯一的共同点就是数据是相同的,显示效果完全不一样。这时候xml的优势就完全体现出来了。

第一步,就是建立一个自定义格式的xml,用来保存listview数据

第二步,xsl可以解析xml生成html,所以就针对listview的每一种显示效果设计了一个对应的xsl。这样前面定义的xml数据和不同的xsl一起就可以显示出不同的效果。

第三步,htc在开发web控件时,非常灵活和功能强大,可以采用客户端脚本如js,可以对控件进行封装,使之有自己的属性、方法和事件等。利用htc封装的listview控件中对外有两个属性CfgXMLSrc(配置文件,设置listview的每一种显示模式对应的xsl文件路径等信息)和View(listview的显示模式),在htc中根据listview的View属性来选择不同的xsl文件和xml数据文件生成html,并输出。

这样就可以通过改变listview控件的view属性来切换listview的不同显示效果。

在线演示:http://www.webuc.net/myproject/listview/listview.htm
打包下载:http://www.webuc.net/myproject/listview/listview.rar

以前写换皮肤的控件,都是通过更换css和图片路径来做的(可以看看http://www.stedy.com),局限性很大,例如toolbar,在winxp和win2000下差别很大,只靠通过换css和图片路径无法应付这种情况。通过开发listview的经验,从中悟到了一种更好的开发换皮肤的web控件的模式:

首先将控件的相关数据用xml描述出来,对于每一种Theme(皮肤/主题样式),有一个相关的配置文件,配置文件中记载了该控件所用到的xsl、css、图片路径、htc等信息。在控件相关的htc中,根据Theme属性组合这些。从而可以灵活的应付各种情况。

例如刚才说的toolbar,假如入我们有三种风格:winxp蓝色、winxp银色和windows经典,前面两种基本差不多,只是样式和图片不一样,而后面一种和前面的两种差别比较大。那么我们需要写两个xsl,三个css文件,三个图片文件夹,组合一下就可以生成这三种风格的toolbar了。

这种控件开发模式会慢慢流行起来并在asp.net控件中发挥重要作用的,我相信:)

------------------------
引用:http://webuc.net/dotey/archive/2004/06/29/1112.aspx
≡≡≡≡≡ 评论(共 条)我要评论
 

Copyright 2004 酷酷小家园   Powered by 5dblog