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

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

 2010-09-30 21:03:16 来源:WEB开发网   
核心提示: 若控件的“GenerateAtServer”属性值为true,也就是在服务器端生成HTML代码,C#发现之旅 - 高性能ASP.NET树状列表控件(中)(6),实现该功能的代码为//若在服务器端生成HTML代码则使用服务器端的XSLT转换//这里从资源文件SkyTreeV

若控件的“GenerateAtServer”属性值为true,也就是在服务器端生成HTML代码,实现该功能的代码为

// 若在服务器端生成HTML代码则使用服务器端的XSLT转换

// 这里从资源文件SkyTreeViewControl.xslt中获得XSLT代码
string xslt = ReadXSLTString();
System.Xml.XmlDocument xsltDocument = new System.Xml.XmlDocument();
xsltDocument.LoadXml( xslt );

// 获得树状节点的数据XML文档
System.Xml.XmlDocument NodeXmlDocument = new System.Xml.XmlDocument();
NodeXmlDocument.LoadXml( xml );
// 创建一个字符串书写器,XSLT转换结果将输出到这个字符串书写器中
myStrWriter = new System.IO.StringWriter();
// 创建XSLT转换引擎
System.Xml.Xsl.XslCompiledTransform transform = 
    new System.Xml.Xsl.XslCompiledTransform();
// 引擎加载XSLT模板
transform.Load(xsltDocument);
// 执行XSLT转换
transform.Transform( NodeXmlDocument  , null , myStrWriter );
// 直接向ASPX页面输出转换结果
writer.Write( myStrWriter.ToString());

这段代码中,首先调用函数ReadXSLTString从资源文件“SkyTreeViewControl.xslt”加载一个XML文档,然后创建一个NodeXmlDocument变量,调用它的LoadXml函数对根节点进行XML序列化所得的XML字符串来生成XML文档,然后创建一个 System.Xml.Xsl.XslCompiledTransform类型的XSLT转换引擎,调用它的Load方法加载XSLT模板,调用它的 Transform方法来执行XSLT转换,转换结果输出到myStrWriter的字符串书写器中,这个字符串书写器中的内容就是用于显示树状结构的 HTML代码。然后程序使用RenderContent函数的writer参数将这个HTML代码输出到页面中。

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

Tags:发现 之旅 高性能

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