请教:
我接手离职同事的一个项目,里面有个页面,上面有textbox,后台代码获得这个textbox的值并存入数据库,但是现在奇怪的现象就是,如果textbox中输入英文和数字,都没有问题,如果一旦输入中文,后台获取到的值就是空,跟踪了一下也是这样,很怪,我从来没遇到过这种问题,大家帮我分析分析是怎么回事呢?

解决方案 »

  1.   

    看看web.config里是否设置了
    <globalization requestEncoding="gb2312" responseEncoding="gb2312"/>
      

  2.   

    代码不用贴了吧,就是很简单的后台获取textbox的值嘛,textbox.text而已
      

  3.   

    web.config改成了gb2312,但是还是不行,怪了,从来没遇到过这种问题:(
      

  4.   

    将AutoPostBack属性设为true;
    添加 
    private void TextBox_TextChanged(object sender, System.EventArgs e)
    {}
    事件,并在该事件内设定断点,每输入一个中文字就将焦点移动到其他控件上,在TextBox_TextChanged 事件 内监视一下 textbox.text 试试看有没有反应!
      
      

  5.   

    经过监视,发现textbox.text还是空的,我要疯了~~~
    如果是英文或者数字,就不存在这个问题
    而且回传之后,textbox里面,数字或英文还在
    而中文的话,textbox被置空了,真是超级奇怪的问题
      

  6.   

    应该是编码问题

    <meta http-equiv="Content-Type" content="text/html; charset=gb2312">
      

  7.   

    在 Page_load()
    {}
    里面添加 this.Response.Expires = -1; 这行试试
      

  8.   

    最好添加在
    Page_load()
    {}
    的最后一行