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

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


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