AP.NET联级菜单笔记

来源:互联网 发布:六一淘宝海报图片 编辑:程序博客网 时间:2024/05/22 16:57

<------------------------页面------------------------------------------>
<html xmlns="http://www.w3.org/1999/xhtml" >
<head runat="server">
    <title>无标题页</title>
    <script>
           //以XML求取数据
   //参数:
   //obj,当前动作的下拉框
   //fullName:要填充的下拉框
   function XmlPost(obj,fullName)
   {
    //求取当前下拉框的值
     var svalue = obj.value;
     //定义要填充的对象
     var fullObj = document.all(fullName);
     
     //定义取值地址
     var webFileUrl = "?pid=" + svalue;
     
     //定义返回值
     var result = "";
     
     //开始取值过程
     var xmlHttp = new ActiveXObject("MSXML2.XMLHTTP");
     xmlHttp.open("POST", webFileUrl, false);
     xmlHttp.send("");
     result = xmlHttp.responseText;

     //如果有取到值,则根据格式进行拆分
     //注意如果选择了第一行"请选择"空行时,是取不到值的,因此多加了一个条件
     if(result != "" && svalue != "")
     {
      //先清空原有的值
       fullObj.length=0;
       fullObj.options.add(new Option("请选择商圈",""));
       //拆分值成数组
       var piArray = result.split(",");
       
       //循环数组
       for(var i=0;i<piArray.length;i++)
       {
        //再拆分成ID及名称
         var ary1 = piArray[i].toString().split("|");
         //逐一添加项
         fullObj.options.add(new Option(ary1[1].toString(),ary1[0].toString()));
       }
       
     }
     else
     {
       //如果没有取到值,则清空要填充的下拉框的值
       fullObj.length = 0;
       fullObj.options.add(new Option("请选择商圈",""));
     }
   }
        </script>
</head>

<body>
    <form id="form1" runat="server">
    <div>
        <asp:DropDownList ID="DropDownList1" runat="server" >
        </asp:DropDownList>
        <asp:DropDownList ID="DropDownList2" runat="server">
        </asp:DropDownList>
    </div>
    </form>
</body>
</html> 

<--------------------------------后台代码------------------------------->

 

 Datainfo data = new Datainfo();  //数据库操作类
    protected void Page_Load(object sender, EventArgs e)
    {
        if (!Page.IsPostBack)
        {
            DataBindList();
            //这个是一个所有省的表
            string sql1= "select * from shenglist";
            DataTable dt = data.SqlExcute_RtnDataTable(sql1,1);

            //绑定第一下拉采单
            this.DropDownList1.DataSource = dt;
            this.DropDownList1.DataValueField = "id";
            this.DropDownList1.DataTextField = "name";
            this.DropDownList1.DataBind();
            //增加onchange事件
            this.DropDownList1.Attributes.Add("onchange", "XmlPost(this,'" + this.DropDownList2.ClientID + "');");
        }
    }
    private void DataBindList()
    {
        string id = this.Request.QueryString["pid"];
        if (!(id == null || id == ""))
        {//如果id 不为空的话 进行所有城市筛选
            this.xmlResponse(id);
        }
    }
    private void xmlResponse(string bid)
    {
        string strxml = "";
        string sql = "select * from shilist where id = " + bid;
        DataTable dt = data.SqlExcute_RtnDataTable(sql,1);

        //将取到的值形成: ID|名称,ID|名称...这样的形式
        if (dt.Rows.Count != 0)
        {
            for (int i = 0; i < dt.Rows.Count; i++)
            {
                strxml += "," + dt.Rows[i]["sqid"].ToString() + "|" + dt.Rows[i]["sqname"].ToString();
            }
            strxml = strxml.Substring(1);
        }

        //输出页面
        this.Response.Write(strxml);
        this.Response.End();
    }

原创粉丝点击