今天在做一个更新的功能的时候,老是更新不了数据。设置断点跟踪了一下,发现了这个问题。

先看代码:


protected void Page_Load(object sender, EventArgs e)

{

    //没有加IsPostBack之前,Teacher.Update(txtName.Text);这里的txtName.Text永远不变,

    //因为是先执行Bind()再执行btnOk_Click();

    if (!IsPostBack)

        Bind();

}

private void Bind()

{

    txtName.Text = "hello";

}

protected void btnOk_Click(object sender, EventArgs e)

{

    Teacher.Update(txtName.Text);

}


当我点更新按钮的时候,数据总是没有变化,索性改成Teacher.Update("hi");可以更新。

真的奇怪了,设了个断点一调试,发现原来在没有加IsPostBack判断的时候,是先执行Page_Load();

然后才执行btnOk_Click();郁闷了好长时间,写出来,提醒一下其他的朋友。