请问怎样将无刷新联动菜单DropDownList2和DropDownList3存储入数据库?谢谢!
C#代码如下:
<TITLE>WebForm2</TITLE>
  <SCRIPT language=@#javascript@#> 
  function load(){ 
    var drp2 = document.getElementById("DropDownList2"); 
    drp2.innerText="";
    for(var i = 0;i<=drp2.options.length -1;i++){ 
     drp2.remove(i); 
    } 
    var drp3 = document.getElementById("DropDownList3"); 
    for(var i = 0;i<=drp3.options.length -1;i++){ 
     drp3.remove(i); 
    } 
    var xmlhttp = new ActiveXObject("MSXML2.XMLHTTP"); 
    var oDoc = new ActiveXObject("MSXML2.DOMDocument"); 
    var state=document.getElementById("DropDownList1").value;
    xmlhttp.open("POST", "webform1.aspx?id="+state,false);
    xmlhttp.send("");
    var res=oDoc.loadXML(xmlhttp.responseText);
    var naItems = oDoc.selectNodes("//Market/Table/maName"); 
    var idItems = oDoc.selectNodes("//Market/Table/maId"); 
    var item;
    var id;
    for (item = naItems.nextNode(),id=idItems.nextNode(); item&&id; item = naItems.nextNode(),id=idItems.nextNode()){ 
     var nastr = item.nodeTypedValue; 
     var idstr = id.nodeTypedValue;
     var newOption = document.createElement("OPTION"); 
     newOption.text =nastr; 
     newOption.value = idstr; 
     
     
     drp2.options.add(newOption); 
    } 
    load2();
  
  } 
  function load2(){ 
    var drp2 = document.getElementById("DropDownList3"); 
    drp2.innerText="";
    for(var i = 0;i<=drp2.options.length -1;i++){ 
     drp2.remove(i); 
    } 
    var xmlhttp = new ActiveXObject("MSXML2.XMLHTTP"); 
    var oDoc = new ActiveXObject("MSXML2.DOMDocument"); 
    var state=document.getElementById("DropDownList2").value;
    xmlhttp.open("POST", "webform3.aspx?id="+state,false);
    xmlhttp.send("");
    var res=oDoc.loadXML(xmlhttp.responseText);
    var naItems = oDoc.selectNodes("//Market/Table/maName"); 
    var idItems = oDoc.selectNodes("//Market/Table/maId"); 
    var item;
    var id;
    for (item = naItems.nextNode(),id=idItems.nextNode(); item&&id; item = naItems.nextNode(),id=idItems.nextNode()){ 
     var nastr = item.nodeTypedValue; 
     var idstr = id.nodeTypedValue;
     var newOption = document.createElement("OPTION"); 
     newOption.text =nastr; 
     newOption.value = idstr; 
     
     
     drp2.options.add(newOption); 
    } 
  
  } 
  </SCRIPT>
 </HEAD>
 <BODY ms_positioning="GridLayout" onload="load()">
  <FORM id="Form1" method="post" runat="server">
   <ASP:DROPDOWNLIST id="DropDownList1" runat="server"></ASP:DROPDOWNLIST>
   <ASP:DROPDOWNLIST id="DropDownList2" runat="server"></ASP:DROPDOWNLIST>
   <ASP:DROPDOWNLIST id="Dropdownlist3" runat="server"></ASP:DROPDOWNLIST>
  </FORM>
 </BODY>
</HTML>
-----------------------
namespace dropDown
{
 /// <summary>
 /// WebForm2 的摘要说明。
 /// </summary>
 public class WebForm2 : System.Web.UI.Page
 {
  protected System.Web.UI.WebControls.DropDownList DropDownList1;
  protected System.Web.UI.WebControls.DropDownList Dropdownlist3;
  protected System.Web.UI.WebControls.DropDownList DropDownList2;
 
  private void Page_Load(object sender, System.EventArgs e)
  {
   // 在此处放置用户代码以初始化页面
   if(!this.IsPostBack)
   { 
    SqlConnection con = new SqlConnection("server=localhost;database=star;uid=sa;pwd="); 
    SqlDataAdapter da = new SqlDataAdapter("select maId,maName from tabMarket  where maCls=0",con); 
    DataSet ds = new DataSet(); 
    da.Fill(ds,"op");
    this.DropDownList1.DataSource=ds.Tables[0];
    this.DropDownList1.DataTextField = "maName"; 
    this.DropDownList1.DataValueField = "maId"; 
    this.DropDownList1.DataBind(); 
    this.DropDownList1.Attributes.Add("onchange","load()"); 
    this.DropDownList2.Attributes.Add("onchange","load2()");
   } 
  } }
}
-----------------------
public class WebForm1 : System.Web.UI.Page
 {
 
  private void Page_Load(object sender, System.EventArgs e)
  {
   // 在此处放置用户代码以初始化页面
   // Put user code to initialize the page here 
   //if(this.Request["state"]!=null)
   //{  
     string id =this.Request["id"]; 
    SqlConnection con = new SqlConnection("server=localhost;database=star;uid=sa;pwd=;"); 
    SqlDataAdapter da = new SqlDataAdapter("select maName,maId  from tabMarket where maParent=@id and maSt=1 ",con); 
       da.SelectCommand.Parameters.Add("@id",id);
    DataSet ds = new DataSet("Market"); 
    da.Fill(ds); 
   
       ds.WriteXml(Response.OutputStream);
       Response.Flush ();
       Response.End ();
       
   //}
  }
       }
-----------------------------
 public class WebForm3 : System.Web.UI.Page
 {
  private void Page_Load(object sender, System.EventArgs e)
  {
   // 在此处放置用户代码以初始化页面
   string id =Request["id"]; 
   SqlConnection con = new SqlConnection("server=localhost;database=star;uid=sa;pwd=;"); 
   SqlDataAdapter da = new SqlDataAdapter("select maName,maId  from tabMarket where maParent=@id and maSt=1",con); 
   da.SelectCommand.Parameters.Add("@id",id);
   DataSet ds = new DataSet("Market"); 
   da.Fill(ds); 
   
   ds.WriteXml(Response.OutputStream);
   Response.Flush ();
   Response.End ();
  }
       }

解决方案 »

  1.   

    Request.Form[DropDownList2.UniqueID]
    Request.Form[DropDownList3.UniqueID]得到
    或者Request.Form["DropDownList2"]
    Request.Form["DropDownList3"]
      

  2.   

    net_lover(【孟子E章】) 大哥,能不能写详细一些,万分感谢,
      

  3.   

    string selectedStreetId = Request.Form[ddlStreet.UniqueID];
    streetID = int.Parse(ddlStreet.Items.FindByValue(selectedStreetId).Value);在点了确定按钮之后 先用第一句获取第一个dropdownlist的UniqueID
    第二句 就根据这个UniqueID 去取它的选择的值
    然后写入数据库就一样了
      

  4.   

    谢谢zhuowei(I'm MS MVP) .我去试试
      

  5.   

    zhuowei(I'm MS MVP) 还是不行,
    Request.Form["DropDownList2"]获取了id,
    用什么方法获取此id的中文值.
      

  6.   

    string selectedStreetId = Request.Form[ddlStreet.UniqueID];
    streetID = int.Parse(ddlStreet.Items.FindByValue(selectedStreetId).Value);
      

  7.   

    streetID = int.Parse(ddlStreet.Items.FindByValue(selectedStreetId).Value);
    这一句不行.保存不了.
      

  8.   

    如何获取id所对应的文本值(text)