首页 > 代码库 > MVC中如何避免POST请求中出现的重复提交
MVC中如何避免POST请求中出现的重复提交
使用惯了Asp.Net的服务器控件了, 突然转到MVC框架上来遇到这么个问题.
比如说网速慢的时候, 用户频繁的点击提交按钮, 或者是按F5刷新页面等等。解决方法很简单。
解决方案
1. 在页面生成时,比如说Index的Action中,开启一个SESSION,存储一个唯一的值(一般.net中使用的是Guid.NewGuid()这个方法)。
2. 同时在隐藏文本域中存储SESSION中的这个值。
3. Post的时候,POST到另一个Action中,这个Action不重新生成SESSION,只是将现有的SESSION与提交的隐藏文本框中的数据进行对比。
HttpPost方法中将隐藏文本域中的值与SESSION中的值进行比对,如果一致,则为正确提交。不一致,则进行异常处理。
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。