下面是一个代码,我想在有回发时显示一条消息。
protected void Page_Load(object sender, EventArgs e)
{
if (Page.IsPostBack)
{
Response.Write("Hidden value :" + HiddenField1.Value);
}
}
protected void btn_Click(object sender, EventArgs e)
{
HiddenField1.Value = "test";
}
问题是我在单击按钮两次时收到消息,这显然是因为 Page_Load
发生在 btn_Click
之前。谁能建议我一种方法,让我可以在页面回发时在 if (Page.IsPostBack)
中显示消息?
请帮忙
最佳答案
是的,您遇到了页面生命周期问题。 Page_Load 发生在任何回发事件之前。
如果您只是对响应流执行 Response.Write,则可以将此代码移动到页面上覆盖的 PreRender 事件。
protected override void OnPreRender(EventArgs e)
{
base.OnPreRender(e);
if (Page.IsPostBack)
{
Response.Write("Hidden value :" + HiddenField1.Value);
}
}
关于c# - 按钮点击和回发问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16710027/