2

下面是一个代码,如果有回发,我想在其中显示一条消息。

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)在页面回发中显示消息?

请帮助

4

1 回答 1

2

是的,您遇到了页面生命周期问题。Page_Load 发生在任何回发事件之前。

如果您只是对响应流执行 Response.Write,则可以将此代码移动到页面上覆盖的 PreRender 事件。

protected override void OnPreRender(EventArgs e)
{
    base.OnPreRender(e);
    if (Page.IsPostBack)
    {
        Response.Write("Hidden value :" + HiddenField1.Value);
    }
}
于 2013-05-23T09:23:45.727 回答