asp.net+JS+xml联动

来源:互联网 发布:产业结构优化升级 编辑:程序博客网 时间:2024/06/06 14:14

asp.net+JS+xml联动

JS程序 :

function load(ID)

 {

   var SubLenth=document.all.DlsBM.length;

    while (SubLenth>=0)

       {

          document.all.DlsBM.options.remove(SubLenth);

           SubLenth--;

       }//去处原来的下拉列表中的值

   var oHttpReq = new ActiveXObject("MSXML2.XMLHTTP");

   var oDoc = new ActiveXObject("MSXML2.DOMDocument");

   oHttpReq.open("POST", "../../Common/DoQuery.aspx?ID="+ID+"&Class=BM" , false);//执行动态查询

   oHttpReq.send("");

   result = oHttpReq.responseText;

   oDoc.loadXML(result);

   //alert(result);

   //以下是对生成的XML解析并添加到下拉列表

   items0 = oDoc.selectNodes("//NewDataSet/Table/BM_Name");

   items1 = oDoc.selectNodes("//NewDataSet/Table/BM_ID");

   //items2 = oDoc.selectNodes("//NewDataSet/Table/DQ_Degree");

   var itemsLength=items0.length; 

   for(i=0;i<itemsLength;i++)

   {

      var newOption = document.createElement("option");

      newOption.text = items0[i].text;

      newOption.value = items1[i].text;

      //newOption.value1 = items2[i].text;

      document.all.DlsBM.options.add(newOption);

   }

   //alert(document.all.DlsBM.text);

}

后台:

   DlsBMPro.Attributes.Add("onchange","load(this.options[this.selectedIndex].value)");

Doquery程序:

   if (!IsPostBack)
   {
    string strID = "";
    string strClass = "";
    if (Request.QueryString["ID"] == "" || Request.QueryString["ID"] == null || Request.QueryString["Class"] == "" || Request.QueryString["Class"] == null)
    {
     return;
    }
    strID = Request.QueryString["ID"];
    strClass = Request.QueryString["Class"];

    XmlTextWriter writer=new XmlTextWriter(Response.OutputStream,Encoding.UTF8);
    writer.Formatting = Formatting.Indented;
    writer.Indentation = 4;
    writer.IndentChar = ' ';
    switch(strClass)
    {
     case "DQ":
      DQs.GetChildDQ(strID).WriteXml(writer);//根据父地区ID查询所有子地区,并将得到的数据写入指定的XmlTextWriter
      break;
     case "BM":
      BMs.GetBM_Prop(strID).WriteXml(writer);//根据BM_Prop查询所有版面,并将得到的数据写入指定的XmlTextWriter
      break;
    }
    writer.Flush();
    //Response.End();
    writer.Close();  
   }

原创粉丝点击