继承于复合控件的自定义控件,我把EabledVeiwState 设置为false 后,里面的textbox的文本值还是会在回传过程中保持值,请问如何办?

解决方案 »

  1.   

    TextBox的value总是会回传的,就算没有ViewState也会设置Text值。其实际上其它控件的value也是一样的。TextBox的ViewState只是让asp.net知道该不该触发TextChanged事件,并且只是在Visible为false时维系Text值。对于TextBox来说,其它几十个地方也需要ViewState。不要只关注Text属性。
      

  2.   

    你弄清楚 TextBox 为什么要继承 IPostBackDataHandler 接口就明白你现在的情况了
      

  3.   


    不错, textbox是继承了IPostBackDataHandler 接口,总会回传值,可是假如不想让他把回传值显示出来呢???继承了复合空间,里面的textbox就总是会把回传值显示出来。但是为什么单独用textbox,比如放在form里面的话,设置了EnabledViewState =false,它的值就不会显示出来了。这是怎么回事。
      

  4.   

    试验了下将TextBox的EnableViewState属性设置为false之后,点击页面上的按钮,TextBox的值依然存在,楼主说的是在什么情况下不存在了呢?
      

  5.   

    但是为什么单独用textbox,比如放在form里面的话,设置了EnabledViewState =false,它的值就不会显示出来了。
    我是说这样试验了之后,值会仍然显示出来
      

  6.   


    看来是我以前一直意会错了,我记得似乎设置了EnabledViewState =false,它的值就不会显示出来了。