问一个关于UserControl的问题。我做了一个UserControl,里面放了一个DropDownList部件。
在DropDownList1_SelectedIndexChanged事件中给两个属性赋值。
定义的俩个属性分别为SelectedCode,SelectedName。DropDownList的AutoPostBack设定成了True。
在另外一个页面中使用这个UserControl,希望能够得到每次选择的值。没有AutoPostBack的时候,我还可以设计一个按钮,得到这个值,有了AutoPostBack,就无法得到这个值了。
Debug了一下,每次都是先运行本身的pageload然后运行UserControl的PageLoad。
写了这些,也不知道说清除没有,谁能帮我找个解决方法。

解决方案 »

  1.   

    webform 编程不同与winform,每次响应服务器事件(autopostback),页被都要被重新加载.
    如果楼主确实想保存状态,试试用ViewState
      

  2.   

    if not me.ispostback then
                'do it
    end if
      

  3.   

    重新改了改。
    我的问题关键是,我希望每次UserCotrol里面的DropDownList的Selected事件触发以后,能够在使用这个
    UserCotrol的页面上面有反映。但是,每次都是先运行父页面的PageLoad以后,才去运行UserControl的PageLoad,所以,无法得到这个数据。如果写在ButtonClick事件里面就没有问题。2楼说的可能能解决,就是不知道应该怎么做?
      

  4.   

    在UserControl的PageLoad事件放在别的方法里面,然后在运行本身的pageload时候调用该方法。
      

  5.   

    运行机制就是这样的
    先运行本身的pageload然后运行UserControl的PageLoad不设置DropDownList1的AutoPostBack=True
    就不触发SelectedIndexChanged事件.你可以用js 或xmlhttp来实现无刷新UserControl
      

  6.   

    mywebcom(我) 的方法可以解决,谢谢了。
    也谢谢其他人。