gpt4 book ai didi

asp.net - 如何避免页面刷新时的按钮事件

转载 作者:行者123 更新时间:2023-12-04 16:37:28 24 4
gpt4 key购买 nike

我有 .aspx 页面,该页面通过单击按钮将数据插入到数据库中。但是当我按下按钮时,它是正确的。我收到了“成功插入数据”的成功消息。在这种情况下,如果我按“F5”或刷新页面,它将触发按钮单击事件。为什么会这样?如何避免这种情况?

最佳答案

当用户单击 F5(或使用工具栏按钮刷新页面)时,它将导致一个与前一个相同的新请求被发送到服务器。 Button.Click事件将再次引发,但您有几种方法可以保护自己免受两次插入数据的影响。

恕我直言,最好的方法是使用 Post/Redirect/Get pattern .在您的代码中,在保存数据的位置之后,执行 302 重定向到确认页面:

protected void btnSaveStuff_Click(object sender, EventArgs e)
{
SaveStuffToDatabase();
Response.Redirect("confirmation.aspx");
}

使用模式时, POST到原始页面不会在浏览器历史记录中结束,刷新结果页面将导致最终 GET重复,这应该是安全的。

关于asp.net - 如何避免页面刷新时的按钮事件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2167490/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com