刷新按钮asp.net后丢失值

时间:2016-03-31 11:55:02

标签: c# asp.net vb.net autopostback

我有以下项目:

它在Page_Load上填充名为电子邮件的文本框和名为用户名的文本框,其中包含从询问数据库获得的值的页面。

然后有这个按钮,如果电子邮件不为空(用户未注册),它将允许您注册,否则它将允许您更改链接到您的用户名的电子邮件。

问题是,在尝试修改电子邮件,进行更新查询时,页面会预先加载,将文本框电子邮件上的新值与从数据库中检索到的值相同,这样就可以了永远不会改变。

我试图查看它是否执行了查询,但确实如此。

我已尝试过所有内容,将变量保留在隐藏标签上,创建两个不同的按钮,没有运气,因为重新加载代码时这些值再次为空。

我在想,如果我能以某种方式保留变量,那就不是cookie。

2 个答案:

答案 0 :(得分:1)

我想您知道发生了什么..在每个帖子上都会重置Page_Load事件重置您的文本框值

使用IsPostBack仅在第一次加载页面时绑定值

protected void Page_Load(object sender, EventArgs e)
{

    if (!IsPostBack)
    {
      //bind dropdown and fill textbox here
        TxtName.Text = "Your values";
        GetDropdowns();
    }
}

我希望这能解决你的问题

答案 1 :(得分:0)

我完全同意Kanis XXX,您可以使用IsPostBack仅在起始页面填充值,而不是在其他回发中填充值。根据我的经验,您的问题还有其他一些建议: