c# - 按钮点击和回发问题

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

请帮忙

最佳答案

是的,您遇到了页面生命周期问题。 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/

相关文章:

c# - jQuery BlockUI 中的登录按钮

c# - 使用更新面板来防止 RadUpload 控件的回发

c# - 抓取和放下物体

c# - 为什么 Textarea.Innertext 给我空点异常?

c# - 有没有一种方法可以在没有例如的情况下对单个项目进行数据绑定(bind)。中继器控件?

android - 如何通过调用web服务在asp.net和android之间发送和接收数据

c# - 如何在不重新发送信息的情况下刷新网页?

c# - 使用字节访问位图内存信息

c# - 使用 Entity Framework Core 为数据库建立多对多关系

c# - StringBuilder 附加字节而不格式化