Web里,
我在Page_load 事件里 动态添加 了TextBox 控件,并且指定其ID(有其他的用途),并且对其赋值。
在Postback回来的时候,我重新生成 控件,并且根据回传回来的其他数据,重新绑定TextBox数据。但奇怪的是,TextBox 数据并没有更改,只是显示客户端修改的值,我后台赋给的值在客户端显示不出来。

解决方案 »

  1.   

    http://community.csdn.net/Expert/topic/3974/3974658.xml?temp=.3430292
      

  2.   

    自己解决了,晕死。抛弃了微软的TextBox,反编译了微软的TextBox,去掉了他的那个IPostBackDataHandler 接口。接口的方法是私有的,无法通过继承TextBox改写接口的方法。那个默认值就是这个方法赋上的bool IPostBackDataHandler.LoadPostData(string postDataKey, NameValueCollection postCollection)
    {
      string text1 = this.Text;
      string text2 = postCollection[postDataKey];
      if (!text1.Equals(text2))
      {
         this.Text = text2;
         return true;
      }
      return false;
    }
      

  3.   

    参考felix的详细分析http://blog.joycode.com/felix/archive/2004/10/21/36136.aspx