我有一些常规输入网页,用户可以在其中输入有关项目的一些详细信息。 然后,在用户按下提交按钮后,她会被重定向到一个网页,显示一切正常。问题是,如果她单击后退按钮,则会再次显示输入页面,如果她点击提交,则会重新提交表单,并将另一个项目写入数据库,这当然是不可取的。
我在 C# 中使用 ASP.NET MVC。处理这种情况的最佳实践方法是什么?
最佳答案
您可以创建一个隐藏的表单元素,将表单标记为唯一。每次服务器写入表单时,都会创建一个新的随机唯一值。提交表单时,让服务器检查该标识符之前是否未使用过。
问题是,如果您想允许用户按后退并重新提交以创建第二个条目,则无法判断用户是否打算制作第二个副本。在这种情况下,您可以做的是创建一个链接,将用户带到相同的表单,但使用新生成的包含唯一标识符的隐藏表单元素。
关于html - 如何防止返回表单时重新提交表单?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15189030/