小弟刚写了一个Web小网页,情况如下里面用到了TextBox跟 CSDN这个提问的框框一样,当点击按钮时获取TextBox里面的文本,但是小弟无法获取更新的文本,请问这是怎么一回事?点击按钮时我已经调用了      TextBox.Text.ToString();  或者我改变原来文本里面的字符,点击按钮后,还是原来的文本,根本不是更改后的文本,请问这是什么原因?

解决方案 »

  1.   

    TextBox.Text就是获取文本框的文本,它本来就String类型,所以后面的ToString()就没有必要了,但是加上不是导致你无法获取的原因。
      

  2.   

    把你的代码放在
    if(!(Page.IsPostBack))
    {
    }
    里试试。
      

  3.   

    如果没有: runat="server",当运行到 TextBox.Text.ToString();  时
    程序会运行出错,所以应该不是: 这句少的原因
    把你的后台代码贴出来看看
      

  4.   

    整个过程是这样的!这个页面是一个显示新闻的页面,首先读取数据库的值,然后显示在TextBox中,然后如何我想改变这个新闻的值的话,我就直接在TextBox中改写,再点击修改按钮执行修改命令,但是我发现当开始给这个TextBox赋值后,后来无论我怎么改,收到的都是原始值,不是我改过的值if(reader.Read())
    {
        news_title.Text = reader.GetString(0);  //获取标题
    (在这里我把值赋到了那个TextBox中了) news_text.Text = reader.GetString(1);   //获取内容
                                        time.Text =reader.GetString(3);         //发布时间
    reader.Close();
    news_text.Dispose();
    command.Dispose();
    return;
    }
    public void Update_News()
    {
    OleDbCommand command = new OleDbCommand(); command.Connection = Data_Connection;
             string m_title = news_title.Text.ToString(); //获取用户修改的新闻值,     发现根本不起作用,还是原始我导入的值我想是不是有可能 如果你开始给TextBox.Text赋了值,那他在以后都会保持这个值不变?
      

  5.   

    把你的代码放在
    if(!(Page.IsPostBack))
    {
    }
    里试试
      

  6.   

    放在里面也不起作用
    因为我在一个按钮事件里面响应了相关的操作方法!当用户点击该控件时,就获取TextBox的值!
      

  7.   

    在Pageload里把你“首先读取数据库的值,然后显示在TextBox中”这个操作放到if(!(Page.IsPostBack))
    里边,因为你点击按钮后页面提交又重新对TextBox赋值,所以更改后的数据获取不到。
      

  8.   

    楼主遇到的问题可能跟我以前遇到的问题类似我是把微软的textbox反编译出来,把 IPostBackDataHandler 这个接口给去掉了,并且把 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;
    }
     
    void IPostBackDataHandler.RaisePostDataChangedEvent()
    {
    this.OnTextChanged(EventArgs.Empty);
    }两个方法去掉。
    你 可以继承一下textbox 然后new 一下这两个方法看看。