2011-04-07 66 views
1

我知道它是一个非常常见的问题,但看起来像我的情况有点典型。asp.net textbox value not changing

我确实检索了页面加载时要在textbox上显示的值。

因此无论多少页面加载发生我都会得到正确的值。

page_load() 
    { 
     TBName.Text = XYZObject.getName(); 
    } 

的事情是:在断点这个文本显示正确的值,但是当我继续下去的网页,它再次显示了旧值。

可能是什么问题???

由于

+0

你能在这里粘贴这个文本框的html吗? – 2011-04-07 06:14:48

+0

首先 - 如果页面加载中的内容相同,请将其放入Post.IsPostBack中......在当前情况下 - 文本框本身是否有任何事件? – sajoshi 2011-04-07 06:16:46

回答

3

的问题是因为文本框是只读的。

0

可以有像另一个函数“clearFields()”被清除文本框。 或getName首先返回字符串,但它返回空,以便清除文本框。

我想是两种可能性。

0

如果我正确地说明,值不变,但没有调试,但它调试时调整?
继续使用F10进行调试,并在手表窗口中显示TBName.Text。然后,您可以准确地看到值的哪一行代码改回。

5

不@ @ @ @ @ @ @,你的情况根本不是典型的。事实上,在我的猜测中,这是asp.net世界中最常见的情况。

你这里是什么的情况下,当你打断点的ViewState装即适用于控制状态,你必须由用户输入正确的值。最终结果是 - 您在PageLoad上的代码块中再次分配的值。

试试这个:

page_load() 
    { 
     if(!IsPostBack)   
      TBName.Text = XYZObject.getName(); 
    }