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

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

 2010-09-30 21:03:02 来源:WEB开发网   
核心提示: 在这个模板中首先接受了一个名为Level的参数,该参数表示生成的树状列表的层次序号,C#发现之旅 - 高性能ASP.NET树状列表控件(下)(2),此处定义了一个名为“NodeID”的XSLT变量,将作为树状列表节点在HTML文档中的编号,此处定义了“HasC

在这个模板中首先接受了一个名为Level的参数,该参数表示生成的树状列表的层次序号。

此处定义了一个名为“NodeID”的XSLT变量,将作为树状列表节点在HTML文档中的编号。

这里使用了XSLT函数generate-id,该函数属于创建一个惟一的编号。对相同的XML节点调用generate-id函数会得到相同的结果,对不同的XML节点调用该函数一定会得到不同的编号。注意,这里的编号在同一个XML文档中是惟一的,但对多个XML文档则不一定了。若对两个XML 文档中的XML节点调用该函数是有可能得到相同的编号。因此当同一个页面上有多个WEB控件,或者WEB控件支持动态加载子节点时,整个页面会对多个 XML文档执行XSLT转换,从而导致多个节点对象可能使用一样的节点编号的情况。若多个节点的编号一样会导致树状列表工作异常。这就是为什么在本演示程序中的“TreeViewNode.aspx”中使用“System.Guid.NewGuid”来手动的设置节点编号的原因。因为“NewGuid”函数会创建一个全球惟一编号,多次调用“NewGuid”函数而创建相同的编号的可能性基本上不存在,这从而保证了同一个页面中所有树状列表的节点编号的惟一性。

此处定义了名为“ShowChildNode”的XSLT变量。这里判断了Level参数值是否小于1,若小于1则参数值为1,表示初始化时该节点的子节点就显示出来。在这里可以控制树状列表初始化时显示多少层节点。

此处定义了“ChildCount”变量,用于存放子节点的个数,以后需要获得子节点个数时就用这个变量,避免重复计算。

此处定义了“HasChild”变量,用于判断是否有子节点,以后需要判断是否有子节点时就不需要重新计算了。

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

Tags:发现 之旅 高性能

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