加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 编程开发 > asp.Net > 正文

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

发布时间:2020-12-16 03:40:50 所属栏目:asp.Net 来源:网络整理
导读:我有.aspx页面,该页面在点击按钮时将数据插入数据库.但是,当我按下按钮时,它正确.我将Successfully消息称为“成功插入数据”.在这种情况下,如果我按“F5”或刷新页面,它将触发按钮单击事件.为什么会这样?如何避免这种情况? 解决方法 当用户单击F5(或使用工
我有.aspx页面,该页面在点击按钮时将数据插入数据库.但是,当我按下按钮时,它正确.我将Successfully消息称为“成功插入数据”.在这种情况下,如果我按“F5”或刷新页面,它将触发按钮单击事件.为什么会这样?如何避免这种情况?

解决方法

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

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

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

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

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读