WEB开发网
开发学院软件开发C语言 C#发现之旅 - 高性能ASP.NET树状列表控件(中) 阅读

C#发现之旅 - 高性能ASP.NET树状列表控件(中)

 2010-09-30 21:03:16 来源:WEB开发网   
核心提示: 当ASP.NET框架要求WEB控件保存数据到视图中,系统会自动调用控件的SaveViewState函数,C#发现之旅 - 高性能ASP.NET树状列表控件(中)(8),当ASP.NET框架要求WEB控件从数据视图中加载数据时,系统会自动调用WEB控件的LoasViewState函数,并作为嵌入的

当ASP.NET框架要求WEB控件保存数据到视图中,系统会自动调用控件的SaveViewState函数,当ASP.NET框架要求WEB控件从数据视图中加载数据时,系统会自动调用WEB控件的LoasViewState函数。能保存在数据视图中的对象必须能进行二进制序列化。这就是在 SkyTreeNode和SkyTreeNodeList类型前面都附加声明类型能进行二进制序列化的 “[System.Serializable()]”的原因。

分析SkyTreeViewControl的源代码,读者可以看到这个WEB控件还是比较复杂的,它需要了解ASP.NET自定义控件的一些知识,此外还需要掌握JavaScript和IE浏览器XML数据岛的知识。

XML数据岛是IE浏览器特有的功能,是微软对HTML标准的扩展,其他浏览器是不支持XML数据岛的,实际上我们可以使用 XMLHttpRequest 的ActiveX组件来从服务器上下载XML文档,而FireFox是支持XMLHttpRequest的,这样可以做到对FireFox的兼容。在这里我特地演示使用了XML数据岛的功能,而且使用XML数据岛的功能能将XML文档嵌入到HTML文档中,减少WEB系统的文件数,从而降低系统复杂度,而且方便部署。若规定客户端浏览器限制为IE浏览器时,则可以采用XML数据岛的功能。

SkyTreeViewControl.xslt

这个WEB控件中有一个很重要的文档就是XSLT模板文档。它保存在文件SkyTreeViewControl.xslt中,并作为嵌入的资源参与程序的编译。这个XSLT模板文档的主体结构为

<?xml version="1.0" encoding="UTF-8" ?>
<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" version="1.0">
   <!-- 

和 SkyTreeViewControl 树状列表控件配合使用的XSLT文档,本文档的生成操作必须为“嵌入的资源”。

上一页  3 4 5 6 7 8 9  下一页

Tags:发现 之旅 高性能

编辑录入:爽爽 [复制链接] [打 印]
赞助商链接