回发后用F5的asp.net问题,因为它做了应有的事情

Omu*_*Omu 3 asp.net postback refresh

我有一个带有详细信息和列表视图的Web表单,用户在详细信息视图的字段中填充数据,然后按下"保存"按钮,暂时一切正常.

但是,如果他们F5在此操作之后按下,则将在DB中插入新记录,因为重复了回发.

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

Kir*_*ein 5

对于对其操作使用POST请求的任何网页,这都是相同的.

您可以Response.Redirect("yourpage.aspx")在保存按钮事件后使用来停止此操作.这会将它们发送到您网页的新版本,而不会在其中包含帖子数据.

另一种方法是为您的表单添加某种真实性令牌,例如生成的GUID.您可以在处理保存请求之前进行一些检查,以确定之前尚未发出使用该GUID的请求.