惯性聚合 高效追踪和阅读你感兴趣的博客、新闻、科技资讯
阅读原文 在惯性聚合中打开

推荐订阅源

S
SegmentFault 最新的问题
Jina AI
Jina AI
罗磊的独立博客
V
Visual Studio Blog
freeCodeCamp Programming Tutorials: Python, JavaScript, Git & More
J
Java Code Geeks
U
Unit 42
Microsoft Azure Blog
Microsoft Azure Blog
B
Blog RSS Feed
爱范儿
爱范儿
酷 壳 – CoolShell
酷 壳 – CoolShell
Last Week in AI
Last Week in AI
T
The Blog of Author Tim Ferriss
腾讯CDC
Hugging Face - Blog
Hugging Face - Blog
T
Tailwind CSS Blog
让小产品的独立变现更简单 - ezindie.com
让小产品的独立变现更简单 - ezindie.com
I
InfoQ
月光博客
月光博客
博客园_首页
Vercel News
Vercel News
P
Proofpoint News Feed
GbyAI
GbyAI
Y
Y Combinator Blog

博客园 - ;姚元培

C#企业级开发案例精解:用经典案例学通 NET技术 NHibernate HibernateTemplate 和Session的区别 HQL中的Like查询需要注意的地方 C# WinForm控件美化扩展系列之TabControl控件(3)-完整版 应用程序权限设计 asp.net MVC 显示数据库中的html 代码 ASP.NET MVC2 使用绑定时 等号和冒号的差别 spring.net asp.net mvc 验证 截获系统注销时候的消息 WeifenLuo.WinFormsUI.DockContent 使用 c# listview 房间列表 百度搜索 asp后台批处理 asp.net数据显示 完善网站程序 脚本攻击防范策略完全篇 asp获取客户端ip http-equiv属性 弹出窗口代码 asp sql语句 javascript with 和 prototype属性 .NET设计模式系列文章 关于rs.bof 和 rs.eof onbeforeunload与onunload事件 使用distinct在mysql中查询多条不重复记录值的解决办法 HTML特殊字符显示 屏幕捕捉 和批量重名命 html文件 后缀 js dom JavaScrip高级应用:操作模态与非模态对话框 vb常用
asp.net防止页面刷新或后退引起重复提交
;姚元培 · 2012-02-27 · via 博客园 - ;姚元培

项目中遇到刷新后重复的向数据库增加一条相同的记录。引出错误。归纳得出问题是:

asp.net怎样防止页面刷新或后退引起重复提交数据的问题:

其实asp.net防止刷新是asp.net开发中经常遇到的问题。通常有多种方法来实现:(下面是一些解决方案)不很全,也很希望朋友们能多多补充。谢谢。

1.请求转发(执行数据库中的更新操作后立即转跳到其他页面,防止页面刷新引起回发操作)、

2.重新加载该页面(通过JavaScript来设置当执行操作后重新加载该页面:<script>window.location="当前页面'</script>)

3. 不保存缓存(即提交后表单上的数据不会被浏览器的缓存保存,如果此时再遇到刷新或者后退请求时, 就会显示“网页已过期”,数据也就不会重复提交了,这就起到了阻止刷新重复提交的效果。

(参见: http://www.cnblogs.com/zpq521/archive/2007/08/14/854631.html))

4.MSDN的一种解决方案: 它是通过重新定义 System.Web.UI.Page 类来实现加载页面时,是“刷新”、“后退”请求,还是正常请求,其他的页面则继承了自定义的这 个Page类

(参见:http://msdn.microsoft.com/zh-cn/library/ms379557(VS.80).aspx )

当然可能会有其他的解决方案,希望朋友们提出自己的解决方案。谢谢