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重复,这应该是安全的. (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
相关内容
- asp.net-mvc – ASP.NET MVC DDD应用程序中的组合根
- model-view-controller – 有没有办法在ASP.MVC 2中设置Hid
- asp.net – 带有Specflow和模拟浏览器行为的BDD
- 写了多年代码,你会 StackOverflow 吗
- asp.net-mvc – 如何使用RequiresJs加载typescript模块(asp
- 在IIS7上运行ASP.NET 1.1的错误(applicationHost.config)
- asp-classic – 为ServerXMLHTTP请求设置超时
- asp.net – 必填字段验证器中的数字验证
- asp.net – 处理缓存和浏览器后退按钮的最佳方法是什么?
- 在asp.net httpContext.Cache中存储/检索项目最有效的方法是
推荐文章
站长推荐
- asp.net – 加入LINQ的2个列表?
- active-directory – .net5 MVC6应用程序上的Act
- asp.net-mvc – 我如何编写一个ActionFilter来确
- asp.net-mvc – ASP.NET MVC响应过滤器OutputCac
- 定时器_使用C#开发windows服务定时发消息到钉钉群
- 如何在使用MasterPage的ASP.NET Web窗体中设置服
- Aspect-Oriented Programming : Aspect-Oriented
- asp.net-mvc – 使用ASP.NET MVC测试驱动的开发
- asp.net – IIS URL重写 – 忽略URL是否包含
- asp.net – web-api&swagger文档
热点阅读