表格提交后处理刷新

Mat*_*les 2 c# forms asp.net cookies session-state

禁止表单在刷新时重新提交的最佳方法是什么?!IsPostBack不处理刷新.我尝试使用bool变量在初始提交时设置为true,但是每次加载页面时它似乎都会重置.

我已经阅读了一些关于cookie的内容,但我不确定如何设置它们以便在页面之间传递.

我的设置是:

  • Default.aspx(&Default.aspx.cs)
  • Results.aspx(&Results.aspx.cs)

我是否像在SessionState中那样在web.config中设置cookie?有什么比饼干更好用吗?

Rav*_*dag 6

因为我认为你可以 从维基百科看看Post/redirect/Pattern PRG模式

HTTP 1.1规范引入了HTTP 303响应代码,以确保在这种情况下,Web用户的浏览器可以安全地刷新服务器响应,而不会导致重新提交初始HTTP POST请求.

它只是在成功发布后重定向,以便用户刷新导致完成幂等GET而不是POST.它的另一个优点是浏览器在其历史记录中"忘记"POST,这意味着后退按钮也不会提交.

甚至您可以在向数据库提交数据之前进行检查,无论数据是否已存在(基于某些主键或唯一标识符).

但你检查这个PRG模式,它可能会帮助你.

响应重定向.在asp.net中