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

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

 2010-09-30 21:03:02 来源:WEB开发网   
核心提示: 准备工作完毕后开始输出HTML代码了,首先输出一个表格行,C#发现之旅 - 高性能ASP.NET树状列表控件(下)(3),然后输出第一个单元格,若节点存在子节点,读者可以使用IE浏览器运行这个页面,可以看到两个树状列表,若节点不是父节点的最后一个子节点时设置单元格的背景图片,从而模拟显示树状列表

准备工作完毕后开始输出HTML代码了。首先输出一个表格行,然后输出第一个单元格。

若节点存在子节点,若节点不是父节点的最后一个子节点时设置单元格的背景图片,从而模拟显示树状列表的层次结构线。此外由于节点存在子节点,因此可以展开和收缩,因此还输出展开和收缩控制点,并对控制点图片添加“onclick”属性,该属性中调用了控件输出的第三段HTML代码中定义的名为 “SkyTreeViewContrlExpendNodeByID”的JavaScript函数。

若节点不存在子节点则输出图片来模拟树状结构叶子节点连接线。

接下来就是输出第二个单元格了。首先输出节点前面的图标,若树状节点定义了Icon数据,则设置图标的SrcBack和src属性值为Icon数据。若没有指定Icon数据,则使用默认值。并设置显示图标的图片的“onclick”属性,这个“onclick”属性将会调用JavaScript函数“SkyTreeViewContrlExpendNodeByID”。

然后输出节点文本,输出超链接和OnClick属性值,若节点还有XMLSource值,这设置该值到HTML元素的XMLSource属性中。

系统判断XSLT变量“ChildCount”的值,若该节点存在子节点,则创建一个table元素,然后遍历所有的子节点,递归调用TreeNode模板,并传递Level参数,并使得Level参数值每次递归调用都增加1。

若节点的XMLSource值有效,还输出一个隐藏的提示“正在加载”的文本标签。

经过上述过程,一种高性能的可动态加载子列表的ASP.NET树状列表控件开发完毕,接着笔者将这个WEB控件投入使用。

Default.aspx

演示程序中有一个Default.aspx页面,为默认页面,这个页面就演示使用树状列表WEB控件,读者可以使用IE浏览器运行这个页面,可以看到两个树状列表,都是使用了3层节点来显示数据库中的客户订单信息。

上一页  1 2 3 4 5 6 7  下一页

Tags:发现 之旅 高性能

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