zoukankan      html  css  js  c++  java
  • Asp.net开发心得点滴[动态加载的用户控件使用事件委托,交给页面处理的事件无效问题]

         在开发一个比较复杂的页面的时候,常常会使用到Page.LoadControl的方法获取用户控件,并将其加入到web容器控件里面通常的是placeholder,也可以是panel。
    (在。dottext里面,placeholder是从panel继承的)

          在开发的时候,我在用户控件里面定义了事件,试图让page页面来处理事件。
    这时候,我发现了一个问题,本来我在一个用户控件里面触发了一个button,这个button事件,我定义在page页面处理,可是这个时候却没有反映。造成点两次才能触发这个button事件。

    因为每次在页面load的时候,我会根据相关参数来判定加载哪个用户控件,这时候所注册的事件是无效的。

    如果我不是动态加载的话,用户控件使用事件委托交由页面处理是没有问题的。


    所以,我建议,如果能够确定用户控件,则使用事件委托并交有页面处理,是可以的。
    如果用户控件是动态加载的,最好就不要使用事件委托并交有页面处理(这种消息传递机制)。

  • 相关阅读:
    微信公众号--JS-SDK
    微信公众号--网页授权
    微信公众号--资源请求
    微信公众号--相关资料
    微信公众号--消息回复
    一.小程序 --申请
    2017年总结
    SSM框架中常用的配置文件
    UML的9种图例解析
    23种设计模式汇总整理
  • 原文地址:https://www.cnblogs.com/king_astar/p/45438.html
Copyright © 2011-2022 走看看