我有以下项目:
它在Page_Load
上填充名为电子邮件的文本框和名为用户名的文本框,其中包含从询问数据库获得的值的页面。
然后有这个按钮,如果电子邮件不为空(用户未注册),它将允许您注册,否则它将允许您更改链接到您的用户名的电子邮件。
问题是,在尝试修改电子邮件,进行更新查询时,页面会预先加载,将文本框电子邮件上的新值与从数据库中检索到的值相同,这样就可以了永远不会改变。
我试图查看它是否执行了查询,但确实如此。
我已尝试过所有内容,将变量保留在隐藏标签上,创建两个不同的按钮,没有运气,因为重新加载代码时这些值再次为空。
我在想,如果我能以某种方式保留变量,那就不是cookie。
答案 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仅在起始页面填充值,而不是在其他回发中填充值。根据我的经验,您的问题还有其他一些建议: