我在一个页面上加了dropdownlist控件,dropdownlist的内容是每次回发时动态读数据库后再用item.add(new listitem())方法添加进去的,但是发现在页面回发后原来选择的选择项就回到了第一项,是什么原因?

解决方案 »

  1.   

    每次初始化dropdownlist默认为选择第一项,你可以自己设置dropdownlist.SelectedIndex改变默认选择项
      

  2.   

    dropdownlist的绑定事件放在if(!isPostBack)里面。
    可能原因是每次都进行了重新绑定所以每次都选择第一项。
      

  3.   

    dropdownlist.selectindex = -1;
      

  4.   

    原因是每次都进行了重新绑定所以每次都选择第一项。解决办法:把add。放到ispostback 里面
      

  5.   

    楼上正解。把绑定方法放进ispostback里面
      

  6.   

    dropdownlist的绑定事件放在if(!isPostBack)里面。
    可能原因是每次都进行了重新绑定所以每次都选择第一项。
      

  7.   

    楼上的各位,但我的dropdownlist中的项生成是根据用户填写页面的数据得来的,放在!ispostback里面的话就不能捕捉到用户的数据啊~~有可能在每次都会增加一项之类的.
      

  8.   

    那你就把当前选的值保存在viewState中,然后再选择这个值。
      

  9.   

    那就把你刷新页面的上一次的值放到一个ViewState变量中,填充完DDL后,在选择这个值。
      

  10.   

    在重新add item前
    int n = ddl.selectedIndex;
    在重新add item后
    if(n<ddl.items.count)
      ddl.selectedIndex = n;
    else
      ddl.selectedIndex = -1;