遇到一个怪问题了我建了三个自定义控件,左面一个div,右面两个div,每个div分别有一个自定义控件的。问题出在右面两个中,由上到下我称它们为右1和右2吧,右1右2的自定义控件都是个Repeater。右1是绑定了某商品分类的类型字段,还有一个OnCommand事件(需要利用这个OnCommand事件中的e.CommandArgument取得点击时绑定的产品类型ID值,传到右2的Repeater中去显示所有同类型的产品)大概功能如此,可是当我调试时发现,执行的顺序有点怪,显示页面后,我点击右1所绑定的产品类型的按钮,调试马上进入右2的Page_Load事件。而最后才执行右1中的OnCommand事件(我之后也用onclick事件试验过,结果都是最后才执行的)我奇怪的是,为什么会先执行右2的Page_Load,我点击的是右1的按钮,应当执行右1的按钮事件才对啊希望各位高手指点下,有点不明白这个是什么原因
                

解决方案 »

  1.   

    事件执行时,页面要回发就必定要调用page_load事件如果你不想每次都调用pageload内的方法那么在pageload内使用 if(!page.ispostback()){//你的方法 }
      

  2.   

    应该在右1的OnCommand事件中,加载右2的控件,不然就出现LZ这样的问题了,可以不要放在用户控件中,右2可以方在一个PAGE中,然后用AJAX加载页面。
      

  3.   

    你点击按钮时,先执行的是右1的pageLoad事件吧,这里的pageLoad事件会不会触发到右2的页面,导致执行了右2页面,右1的pageLoad事件执行完再执行按钮的click事件