html - 如何防止返回表单时重新提交表单?

标签 html asp.net-mvc

我有一些常规输入网页,用户可以在其中输入有关项目的一些详细信息。 然后,在用户按下提交按钮后,她会被重定向到一个网页,显示一切正常。问题是,如果她单击后退按钮,则会再次显示输入页面,如果她点击提交,则会重新提交表单,并将另一个项目写入数据库,这当然是不可取的。

我在 C# 中使用 ASP.NET MVC。处理这种情况的最佳实践方法是什么?

最佳答案

您可以创建一个隐藏的表单元素,将表单标记为唯一。每次服务器写入表单时,都会创建一个新的随机唯一值。提交表单时,让服务器检查该标识符之前是否未使用过。

问题是,如果您想允许用户按后退并重新提交以创建第二个条目,则无法判断用户是否打算制作第二个副本。在这种情况下,您可以做的是创建一个链接,将用户带到相同的表单,但使用新生成的包含唯一标识符的隐藏表单元素。

关于html - 如何防止返回表单时重新提交表单?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15189030/

相关文章:

javascript - 无法发出第二条警报消息

css - 来自第二页的链接不会返回到 firefox 中上一页的 id,请参见下面的代码。适用于 IE、O、Saf 和 Chrome

asp.net-mvc - Visual Studio 2013 MVC 模板在与 Unity 一起使用时引发错误

c# - 添加dom后表达注释重新绑定(bind)表单

html - 过渡效果不适用于正确的元素

html - 响应式背景图片不调整大小

html - 为什么这个 100% 的高度不起作用?

asp.net - 我可以使用 MiniProfiler 检测 ASP.NET MVC WebApi 网站吗?

asp.net - 下拉列表 asp mvc

c# - 你应该压缩 html 页面吗?如果是这样,如何在 .net 中做到这一点?