yet

Dream Will Come True

 

C#中联动得下拉框的实现

html页面部分,保存为 WebForm2.aspx文件
<script language="vbscript">
  Function bytes2BSTR(vIn)
    strReturn = ""
    For i = 1 To LenB(vIn)
        ThisCharCode = AscB(MidB(vIn,i,1))
        If ThisCharCode < &H80 Then
            strReturn = strReturn & Chr(ThisCharCode)
        Else
            NextCharCode = AscB(MidB(vIn,i+1,1))
            strReturn = strReturn & Chr(CLng(ThisCharCode) * &H100 + CInt(NextCharCode))
            i = i + 1
        End If
    Next
    bytes2BSTR = strReturn
End Function
  </script>
  <script>
      function load(state){
       var drp2 = document.getElementById("DropDownList2");
      
       var oHttpReq = new ActiveXObject("MSXML2.XMLHTTP");
       var oDoc = new ActiveXObject("MSXML2.DOMDocument");
       oHttpReq.open("POST", "WebForm2.aspx", false);
       oHttpReq.setRequestHeader("Content-Type","text/xml");
       oHttpReq.send("<root>"+state+"</root>");
      
       result = bytes2BSTR(oHttpReq.responseBody);
       oDoc.loadXML(result);
     
      for(i=0;i<oDoc.documentElement.childNodes.length;++i)
   {
  var text = oDoc.documentElement.childNodes[i].childNodes[1].text;
  var value = oDoc.documentElement.childNodes[i].childNodes[0].text;
  var option = document.createElement("OPTION");
  option.text = text;
  option.value = value;
  drp2.options[i]=option;
  }
      }
  </script>


<asp:DropDownList id="DropDownList1" runat="server"></asp:DropDownList>
   <asp:DropDownList id="DropDownList2" runat="server"></asp:DropDownList>

WebForm2.aspx文件的后台代码实现:
if (Request.ContentType.ToLower() == "text/xml")
   {
    
    XmlDocument xmldoc = new XmlDocument();
    xmldoc.Load(Request.InputStream);
    this.TextBox1.Text=  xmldoc.InnerText;
 
    XmlTextWriter writer = new XmlTextWriter(Response.OutputStream,Response.ContentEncoding);
    writer.Formatting = Formatting.Indented;
    writer.Indentation = 4;
    writer.IndentChar = ' ';
    ds.WriteXml(writer);
    writer.Flush();
    Response.End();
    writer.Close();
   }
if(!this.IsPostBack)
   {
    ds.WriteXml(Server.MapPath("test.xml")); 
    this.DropDownList1.Items.Add(new ListItem("123","123"));
    this.DropDownList1.Items.Add(new ListItem("测试","test")); 
    this.DropDownList1.Attributes.Add("onchange","load(this.options[this.selectedIndex].innerText)");
   }

posted on 2005-07-04 20:06  yet  阅读(1357)  评论(0编辑  收藏  举报

导航