Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/asp.net/36.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
asp.net 1.1重复的提交条目_Asp.net_Duplicates - Fatal编程技术网

asp.net 1.1重复的提交条目

asp.net 1.1重复的提交条目,asp.net,duplicates,Asp.net,Duplicates,我有一个旧的Framework1.1项目,它有以下问题:如果用户提交了一个页面,那么数据库中可能会出现重复的记录。此错误经常重复,但并不一致:在大多数情况下,没有重复的条目,但在某些情况下,最多可能有4个条目。在第一次提交后,我们使用JavaScript禁用提交按钮 这可能会有所帮助:有一个会话对象用于存储提交的用户输入 您能想到为什么会发生重复记录的任何场景吗 非常感谢最后,我发现一些移动浏览器忽略了禁用提交按钮的JavaScript,用户多次重新提交表单 最简单的解决方案如下: 在数据库中创

我有一个旧的Framework1.1项目,它有以下问题:如果用户提交了一个页面,那么数据库中可能会出现重复的记录。此错误经常重复,但并不一致:在大多数情况下,没有重复的条目,但在某些情况下,最多可能有4个条目。在第一次提交后,我们使用JavaScript禁用提交按钮

这可能会有所帮助:有一个会话对象用于存储提交的用户输入

您能想到为什么会发生重复记录的任何场景吗


非常感谢

最后,我发现一些移动浏览器忽略了禁用提交按钮的JavaScript,用户多次重新提交表单

最简单的解决方案如下:

在数据库中创建一个表SubmissionTokens,该表包含两个字段:令牌uniqueidentifier、DateCreated DateTime。然后,当加载带有提交表单的页面时,向数据库添加一个令牌,并将id值保存在同一页面的隐藏字段中。当用户提交表单时,从隐藏字段读取令牌,并查看表SubmissionTokens中是否存在令牌。如果确实存在,则在数据库中插入带有表单数据的新记录,并从SubmissionTokens中删除该令牌。您还可以使用DateCreate字段使令牌过期


在工作中,我实现了一个稍微不同的解决方案,在插入新记录之前,只需在数据库中查找重复的记录。但这是因为有一个特定的要求,用户必须能够重新提交表单,如果他点击浏览器返回。在这种情况下,SubmissionToken已被删除,第一个解决方案将不起作用。

您可以发布一些相关代码吗?发生这种情况可能有很多原因,但如果没有更多的原因,很难给出任何真正的答案。我需要的代码可能是您调用了两次save函数。如果没有代码,没有什么可以假设的。对不起,我不允许发布代码,修改代码太长了。但是用户输入提交的代码相当简单。有一个submit按钮,它调用PageSubmit方法,从页面上的输入字段读取数据。没有数据提交的循环或重试尝试。不太确定是否有人能真正帮助您-据我所知,没有任何特定的框架错误会导致这种情况,因此它必须是代码中的某些内容。最好的办法是调试/测试,直到您能够找到导致问题的确切情况。嗨,凯文,好的,谢谢您的回复,我们将进一步研究这个问题。