hoge66的专栏

-----------------------看到专栏,偷着笑!
  博客园  :: 首页  :: 新随笔  :: 联系 :: 订阅 订阅  :: 管理

页面回发,一个容易被忽略的问题!

Posted on 2011-06-21 16:08  hehoge  阅读(441)  评论(1编辑  收藏  举报

  Treeview带Checkbox的,在添加页面可以,但在修改页面不行了,前台页面选中的节点,在后台CS中就是选不中,怀疑是控件本身的问题,搞了半天,结果不是!还是一个常犯的错误,绑定数据的时候忘记if(!this.IsPostBack){BindTree();}


Page.IsPostBack 属性
         获取一个值,该值指示该页是否正为响应客户端回发而加载,或者它是否正被首次加载和访问。
         属性值
         如果是为响应客户端回发而加载该页,则为 true;否则为 false。
        
         第一次加载页面IsPostBack为false,所以会进行数据表绑定和页面初始化,当触发AutoPostBack=True后,页面响应客户端回送服务器,这样就不再重新绑定数据表了(应该有利于提高页面执行效率),因为任何输入或构建的数据都已被保留(以视图方式),同时执行相应的OnCheckedChanged事件,如果没有IsPostBack的判断,页面就不断重新绑定数据表和初始化,自然也就执行不到客户端触发的相应事件。