我们如何防止在刷新时重新提交页面。
例如: 我有一个输入字段,在提交页面时,它会将该字段的值添加到列表中并自动重新加载,但如果故意刷新页面而不向字段写入任何内容,则会将先前添加的值添加到列表中。如何在webforms asp.net中防止这个问题
答案 0 :(得分:0)
尝试使用<input type="button" />
代替<input type="submit" />
或其相应的ASP.NET控件。如果您在页面上有一个提交按钮,它将在您刷新时发布表单(无论是偶然的还是有意的)。但是你失去了使用输入按钮提交表单的能力。用户必须单击输入按钮。
您可能仍希望保留提交按钮,因此在添加到列表后,使用Response.Redirect显式重定向到URL
Response.Redirect(Request.Url.AbsoluteUri);
此外,要在服务器端完全自动防故障,您还可以在添加项目之前检查项目是否已存在于列表或数据库中(如果该项目是列表的后备存储)。