按钮单击和回发问题

时间:2013-05-23 09:19:11

标签: c# asp.net postback

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

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)显示消息?

请帮助

1 个答案:

答案 0 :(得分:2)

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

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

protected override void OnPreRender(EventArgs e)
{
    base.OnPreRender(e);
    if (Page.IsPostBack)
    {
        Response.Write("Hidden value :" + HiddenField1.Value);
    }
}