3

我有一个带有详细信息和列表视图的 Web 表单,用户在详细视图的字段中填写数据,然后按下“保存”按钮,目前一切正常。

但是,如果他们F5在此操作之后按下,则将在数据库中插入一条新记录,因为回发是重复的。

有谁知道如何避免这种情况?

4

1 回答 1

5

这对于任何使用 POST 请求进行操作的网页都是一样的。

Response.Redirect("yourpage.aspx")您可以在保存按钮事件之后使用来停止此操作。这会将它们发送到您的页面的新版本,其中没有发布数据。

另一种方法是让您的表单包含某种真实性令牌,例如生成的 GUID。您可以在处理保存请求之前进行一些检查,以确保之前没有发出使用该 GUID 的请求。

于 2009-07-17T11:41:57.907 回答