asp.net文本框值不变

时间:2011-04-07 06:07:49

标签: asp.net postback

我知道这是一个非常常见的问题,但似乎我的情况有点典型。

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

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

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

事情是:在断点上这个文本显示正确的值,但是当我继续并进入网页时,它再次显示旧值。

可能是什么问题???

由于

4 个答案:

答案 0 :(得分:5)

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

当您点击断点并加载 ViewState ,即应用于控件状态并且您输入了正确的值时,您拥有的是这种情况。您最终得到的结果是您在 PageLoad 的代码块中再次分配的价值。

试试这个:

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

答案 1 :(得分:3)

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

答案 2 :(得分:0)

可以有另一个功能,例如“clearFields()”正在清除文本框。 或者getName首先返回字符串,然后返回空,以便清除文本框。

我认为有两种可能性。

答案 3 :(得分:0)

如果我没有正确理解,那么在没有调试的情况下,该值保持不变,但是在调试时会出现问题? 继续使用F10进行调试,并在“监视”窗口中显示TBName.Text。然后,您可以准确地看到值更改的代码行。