当前位置: 首页 > 知识库问答 >
问题:

在ASP.NET MVC页上防止双重提交/发布

锺离旻
2023-03-14

我希望得到一些关于我打算在ASP.NET MVC4应用程序中防止重复记录的方法的反馈,以及我对用户体验没有的冲击效果。

web表单有六个输入字段和一个保存按钮(以及一个取消按钮),用户可以花10分钟填写表单。

共有1个答案

仰钧
2023-03-14

如果您在表单中使用了隐藏的防伪令牌(您应该这样做),您可以在首次提交时缓存防伪令牌,并在需要时从缓存中删除该令牌,或者在设定的时间后使缓存的条目过期。

然后,您将能够根据缓存检查每个请求是否提交了特定的表单,如果提交了,则拒绝该表单。

您不需要生成自己的GUID,因为在生成防伪令牌时已经在这样做了。

此外,所有正在运行的实例必须能够访问缓存(共享缓存)。

 类似资料:
  • 问题内容: 我浏览了所有类似的帖子,但似乎无济于事。这就是我所拥有的 HTML: JavaScript / jQuery: 我无法做的是防止在按时刷新页面。我尽力尝试了每一个组合,包括内部。我也尝试使用和相反的相同结果。我无法解决这个问题,这真是疯了。由于某些设计原因,我尽可能使用超链接。非常感谢您的帮助。 问题答案: 像这样修改函数: 正如评论所提到的,通过事件: 更新2:

  • 问题内容: 我的表单需要服务器处理一些时间。我需要确保用户等待并且不会再次单击按钮来尝试重新提交表单。我尝试使用以下jQuery代码: 当我在Firefox中尝试此操作时,所有功能都被禁用,但是该表单未与应该包含的任何POST数据一起提交。我不能使用jQuery提交表单,因为我需要将按钮与表单一起提交,因为有多个提交按钮,并且我确定POST中包含哪个值使用了哪个按钮。我需要像平常一样提交表单,并且

  • 我有一个包装了一个块,当点击它时,会打开一个新的场景(我使用的是react native router flux)。 除了快速点击之外,一切正常,场景可以渲染两次。 我想防止用户快速点击该按钮。 在本机中实现这一点的最佳方法是什么?我研究了手势应答器系统,但没有任何例子或类似的东西,如果你是新来的,像我一样,会让人困惑。

  • 问题内容: 我有的: 我有一个通过AJAX提交的表格。 我想要的是: 我想防止重复提交。由于仅在成功完成请求后该表单才会消失,因此只要数据库尚未完成数据写入,用户就可以单击“提交”按钮。显然,我不需要。 我尝试过的 我尝试将其添加到“提交”按钮本身中,但是它不起作用。该按钮被禁用,但是没有数据发送。 我也尝试将点击处理程序添加到“提交”按钮。具有与以前相同的效果。实际上没有数据发送到控制器,但是按

  • 本文向大家介绍Spring Boot如何防止重复提交,包括了Spring Boot如何防止重复提交的使用技巧和注意事项,需要的朋友参考一下 场景:同一个用户在2秒内对同一URL的提交视为重复提交。 思考逻辑: 1.从数据库方面考虑,数据设计的时候,某些数据有没有唯一性,如果有唯一性,要考虑设置唯一索引,可以避免脏数据。 2.从应用层面考虑,首先判断是单机服务还是分布式服务,则此时需要考虑一些缓存,

  • 问题内容: 我有一个简单的表格,我不想多次意外提交。 当他们第一次看到该页面时,我可以轻松地阻止他们进行多次单击,但是我无法控制他们单击“后退”按钮。 因此,在与Struts合作之后,我决定采用表单提交令牌。 有更容易的方法吗?Seam中已经有此功能吗?如果没有,我应该如何在Seam中构建此功能? //编辑//这里只是澄清一下,我不需要某些东西可以防止用户双击。已经解决了。 具体用例如下:用户单击