http协议中的内容可以帮助我查找,或者我应该自己查看字段。
如果可以多次提交相同的字段值,我应该添加虚拟隐藏字段吗?
答案 0 :(得分:3)
如果您想完全确定您需要在表单的隐藏字段中包含表单的唯一ID,并在处理之前检查所有服务器线程可以查看的数据存储(例如数据库)表格数据。
答案 1 :(得分:0)
您可以这样做的一种方法是,点击后使用JavaScript禁用该按钮。此外,您可以创建一个服务器端代码来检查多个提交(或回发)。我不认为HTTP协议上有任何可用的东西,因为HTTP是无状态的,并且本身并不知道多个提交。
答案 2 :(得分:0)
我不认为它可能在http中。你可以计算字段的哈希值并在javascript中检查它。
修改,您可以将其存储在Cookie中
答案 3 :(得分:0)
避免这种情况的一种方法是在发生回发操作后重定向到同一页面。但这将清除存储在ViewState中的所有值。
这是一篇关于这个主题的好文章
答案 4 :(得分:0)
答案 5 :(得分:0)
除非保存/更改数据,否则我通常不担心额外的加载/提交。结果,我在数据修改逻辑中加入了强大的控制。加载数据时,我返回该数据的最后更改日期和时间。保存时,我确保现有数据与上次更改日期完全相同。第二次保存/更改将被中止,因为第一次保存将修改最后一次更改日期,使其不同。在初始保存(INSERT)的情况下,您可以添加逻辑以确保在最后X时间内没有为用户创建新项目。