应用JScript和XML自定义无刷新多级联动菜单
2010-09-14 13:39:10 来源:WEB开发网Web开发人员在进行网站开发时常常需要设计具有父子或者从属关系的菜单,使用传统的Web开发技术开发出的页面当用户做出选择某个菜单中的选项时会对页面进行刷新。这也就意味着客户端页面所有内容需要从服务器端重新生成并传递到客户端,因此页面信息传递时的滞后感很强,用户体验很不理想。如果仅仅是在类似例如在用户注册时需要选择用户所属地的情况下也许这种滞后还不至于带来较严重后果。但是,在某些特定应用比如GIS应用程序中,当这些级联菜单是作为地图浏览的导航栏时,每次刷新页面将导致地图的重新载入,这种代价将是高昂的,也是用户所无法忍受的。因此,为了使用户交互过程变得更为流畅而连续,开分人员常常需要利用局部刷新技术来避免页面整体的刷新。网络上比较常见的做法是利用微软官方所提供的ASP.NET AJAX Control Toolkit中的CascadingDropDown控件,然后自己编写一套提供对数据访问的接口来实现数据的绑定,从而实现菜单的级联更新。这种方法将XML格式的数据与控件进行绑定,可以简单、快捷的开发出无刷新的多级联动菜单,然而同时也缺乏一定的灵活性,例如当开发人员需要根据页面整体风格来改变默认的下拉框的样式将是比较困难的。本文提出方法的同样基于异步交互的思想以及针对XML数据的读写,但所不同的是利用了HTML中的SPAN元素和DIV元素来模拟下拉菜单的效果,因此在CSS文件中可以重新定义它的样式以达到理想的效果,同时还利用了DOM进行动态显示及交互。下面以全国行政区划的无刷新三级联动菜单的设计过程来详细说明这种方式的具体实现。
二、生成XML数据文件
在.NET Framework中包含了很多支持XML访问和操作的相关类,这些类为软件开发人员提供了极大的便利性,使得应用XML编程如同理解XML文件一样简单。本文仅介绍其中用于生成XML的XmlWriter类的相关属性与方法。
更多精彩
赞助商链接