我用不刷新做了省与城市的级联效果:第一个下拉列表框中绑定的是省份,通过选择不同的省份在第二个下拉列表框中显示出对应省份的城市,到这里我现在还没有问题,问题就在于我怎么在提交的时候获得第二个列表框中的城市,因为我提交的时候页面刷新了,造成了第二个下拉列表框中数据的丢失,请问如何处理好?

解决方案 »

  1.   

    给第一个dropdownlist赋值时,根据第一个的值,绑定第二个dropdownlist。
      

  2.   

    获取值的时候加上if(!ispostback)
                   {               }
      

  3.   

    提交以后。你能取到第二个框的值吧
    用JS document.getElementById("第二个ID").value =' <%=后台变量的值%>';
      

  4.   

    搞个hidden 表单域刷新后再赋上
      

  5.   

    使用服务器端控件,viewstate设置为true就能实现.
      

  6.   

    string Prov = this.ddlProv.SelectedValue;
    string City = Request.Form[ddlCity.UniqueID].ToString();
      

  7.   

    在page_load里加上
    if(!ispostback) 
    { }
      

  8.   

    在page_load里加上 
    if(!ispostback) 

       在这里绑定省份的DropDownList
       指定这个省份为AutoPostBack = true;
       市的哪个AutoPostBack = false;
    }
      

  9.   

    城市的下拉框是不具有VIEWSTATE的,在POSTBACK的时候不会记住原来你所选择的项,解决的办法:
    1)在点击提交按钮的时候,用JS代码将所选城市的值(VALUE)记录在一个隐藏TEXTBOX,如
    <asp:TextBox ID="txt3rdCat_slt" Style="visibility: hidden" runat="server"></asp:TextBox>
    这时上面的 TEXTBOX具有VIEWSTATE,就记住了这些城市的值.
    如:可以记住所选择的城市VALUE为VALUE1,VALUE2,VALUE3,.....
    2)当发生POSTBACK的时候,从上述的TEXTBOX里取出所记住的城市VALUE,再凭这些VALUE到省份的下拉框(省份下拉框有VIEWSTATE,能记住)对应的找到城市的名称和VALUE,再赋值给城市下来框,这样城市下拉框就不会丢失所选择的城市了.
      

  10.   

    我采用WORLDNIC的方法把问题解决了,谢谢大家,马上结帖