当前位置: 首页 > 图文教程 > 网络编程 > ASP.NET > AJAX实现web页面中级联菜单的设计

ASP.NET
LCS问题算法之VB.net版
一个自定义LABEL组件的C#源代码
在C#中使用XML指南之读取XML
Asp.Net页面输出到EXCE
DataGrid脚眉显示合计
类似BOOLEAN列的DATAGRIDTEXTBOX的改进
在.net中调用存储过程的另一种方法
.net中窗体的调整
按钮列的应用
带颜色的listbox控件
可拖动的无标题栏窗体
正弦函数的绘制的一种方法
使用反射实现根据名称动态创建窗体的几种方法
运行时拉伸和移动控件的类
字符串根据多个字符进行分割的一种方法
使用递归从数据库读取数据来动态建立菜单
设置tabcontrol控件选项卡的字体为竖着的
容器中控件的拖动
单元测试辅助类
VB.net 调用带参数存储过程

ASP.NET 中的 AJAX实现web页面中级联菜单的设计


出处:互联网   整理: 软晨网(RuanChen.com)   发布: 2009-08-14   浏览: 174 ::
收藏到网摘: n/a

  看了大峡搞的级联菜单,我也班门弄斧一把,嘿嘿,花了一点时间搞了个级联菜单贴上来看看。本例中只要你选择成员分类名称就会自动显示成员名称:

   首先在eclipse中建一个项目,名称你自己做主了,这里为Easyjf-menu,对应的浏览器页面代码为:
 Easyjf-menu.jsp
 <@page contentType=”text/html;charser=UTF-8” language=”java”%>
 <head>
   ……..
 </head>
 <script language=”javascript”>
   var XMLHttpReq;
   var currentSort;
   //创建xmlhttprequset对象
   function createXMLHttpRequest(){
   if(window.XMLHttpRequest){
   XMLHttpReq=new XMLHttpRequest();
 }
else if (window.ActiveXObject){
  try{
     XMlHttpReq=new ActiveXObject(“Msxml2.XMLHTTP”);
    }catch(e){}
       try{
 XMLHttpRequest=new ActiveXObject(“Microsoft.XMLHTTP”);
}catch(e){}
}
}
//发送请求函数
function sendRequest(url){
 createXMLHttpRequest();
 XMLHttpReq.open(“GET”,url,true);
 XMLHttpReq.onreadystatechange=processResponse;
 XMLHttpReq.send(null);
}
//处理返回信息函数
function processResponse(){
   if(XMLHttpRequest.readyState==4){
   if(XMLHttpRequest.status==200){
 updateMenu();
}else{alert(“您请求的页面有异常!”)}
}
}
//更新菜单函数
function updateMenu(){
 var res=XMLHttpReq.responseXML.getElementIdByTagName(“res”);
 var sunMenu=””;
 for(var i=0;i<res.length;i++){
 submenu=subMenu+res[1].fistChild.data+”<br>”;
}
currentSort.innerHTML=submenu;
}
//创建级联菜单
function showSubMenu(obj){
   currentSort=document.getElementById(obj);
   currentSort.parentNode.style.display=””;
   sendRequest(“menu?sort=”+obj);
}
</script>
<b>EasyJF成员</b>
<a onClick=”onShowSubMenu(‘大峡’)”>大峡</a>

  该页面中提供了对应的菜单以供用户选择,用户选择菜单后,调用showSubMenu(‘XXX’)函数,其中参数用于传递用户所选菜单的标识信息到服务器以决定获取服务器的哪个在菜单内容,首先获得菜单的识别信息,再提交给Ajax,这里用innerHTML属性实现定位显示 。