rt
禁用Page viewstate后,按钮回发事件中,在chekboxlist选择过的情况下会触发chekboxlist的selectindexchanged,
但是chekboxlist 自己触发的selectindexchanged能正确取到值,我想问一下大师们
到底是viewsate保存了chekboxlist 的什么状态或者属性,来判断是否触发selectindexchanged 事件呢,网上搜了下都搜不到。(仅限于问题本身的探讨、请各位大师多多指教,谢谢!)

解决方案 »

  1.   

    在页面Init之后,DropDownList   会判断回传的最终下拉列表指定的Value与上一次输出页面时保存在ViewState中的是否相同,如果不同就触发这个changed事件,并不去判断是否客户端真的点击并改变了值
      

  2.   

    那意思就是禁用后,viewsate只会保存最初页面控件的状态,不会保存选择后的值是不?
    那么我有什么办法让其他部分viewsate禁用但是chekboxlist 的viewsate开启呢?
    我试了在。aspx最顶上把整个页面的禁用了,然后在chekboxlist 里面写 EnableViewState =“true”
    是不行了,麻烦大哥指教了
      

  3.   

    viewsate只会保存最初页面控件的状态,不会保存选择后的值是不如果开启,每次回发都会保存的,不只是首次Load
    页面里的EnableViewState是整个Page对象的全局设置,“优先级”高于控件级的设置
      

  4.   

    如果只需要启用某一部分的viewstate,关闭其他的有没有什么办法,
    viewsate有的时候不仅使页面过于肥大,而且有时候乱七八糟的还影响SEO,有介绍把viewsate移动到页面最底部的,但是我想要的不是这种办法。
      

  5.   

    丢掉了 ViewState会触发这个Changed事件