我爱Aspx >> Asp.Net >> 用C#与XML创建动态分层菜单在调用 WalkTree()方法并且对不同的节点进行分析的同时,要解析 menuItem节点,将来自其超级链接和名字节点的数据放在数组列表中。对整个 XML文档都进行解析之后,数组列表的内容就被传递回调用的ASP.NET的页面,然后使用Response对象写出信息。从这时起,客户端的 JavaScript代码就开始控制DHTML 菜单了。
在服务器端,我们使用一个 ASP.NET页面来开始菜单的创建过程。这个页面输入了与集合相关联的名称空间XmlHierMenu:
<%@ page language="C#" %>
<%@ Import Namespace="XmlHierMenu" %>
然后,将样式表文件和 JavaScript文件包含在文件的 代码区中。最后,在 ASP.NET 页面底部的代码用来引用上面提到的CreateMenu() 方法与WalkTree()方法,请看List 4。
在ASP.NET 页面中所找到的C# 代码只是建立了到不同的XML文档的路径,并且对 XmlMenu 类进行了例示。一旦对这个类进行了例示,就对 CreateMenu()方法进行调用。这个方法接收菜单名以及到这个菜单的XML文档的文件路径。在本例中,要创建3个名为menu1、 menu2和 menu3 的菜单,然后在一个ASP.NET页面中使用。这个应用程序在一个给定页面中可以支持无穷多的菜单,但是我们建议菜单数目不要过多,因为每增加一个菜单,发送到客户端的文件规模都会增加。
编译 C# 文件
现在我们已经看到了菜单应用程序的结构,接下来讨论一下使用哪些开关可以将C# 文件编译到一个集合中。在 .Net SDK 文档中,我们可以查询到一个所有编译开关的完整列表。
要想正确地编译 C# 文件以使它能用于一个ASP.NET 页面中,编译器就必须要知道包含了System.Xml 集合。这可以通过使用 /r 开关并在后面加上到集合的完整路径来完成。由于将要创建的 dll是一个库,因此就必须指定 /t开关,这样编译器就不再寻找一个静态的 Main() 方法。最后一个需要的开关是 /out ,它将告诉编译器输出的文件名是什么,以及将其放在哪里。
Ҷƪл˵?
XML 如何推动下一代信息共享应用..[05-20]
基于XML的三层C/S模型[05-20]
XMLDOM手册[05-20]
利用XSL和ASP实现XML文档在线编辑[05-20]
让Asp与XML交互[05-20]
在IE里应用XML的一个小例子:解决..[05-20]
修改XML[05-20]
修改XML[05-20]
ASP.NET中使用Treeview和XML[05-20]
用asp.net和xml做的新闻更新系统..[05-20]
透明FLASH[05-20]
JS类:实现对联式广告[05-20]
网页间非常规方法传递值的方法[05-20]
利用WebClient和WebRequest类获得..[05-20]
通过ASP.NET远程杀死进程[05-20]
Asp.net中DataGrid控件的自定义分..[05-20]
使用ASP.NET中调用WebService时不..[05-20]
在系统菜单中添加自定义菜单项[05-20]
利用SOAP(Webservice)上传文件[05-20]
利用ASP.NET实现域名查询[05-20]