我有asp.net表单应用程序我有一个错误,当用户单击F5或刷新它将输入上次数据输入的数据。如果用户单击F5或刷新,他们将离开以防止发送数据?
答案 0 :(得分:11)
通过重定向到自身,可以轻松地将页面重置为ASP.NET中的初始状态。以下是3种方法:
请求的路径以下列形式显示:/MyApp/MyFile.aspx
其中不仅暴露了路径,还有任何查询字符串参数,如: /MyApp/MyFile.aspx?foo=bar
其中不仅暴露了路径和查询字符串参数,而且在表单中作为绝对引用提供: MyServer的/ MyApp的/ MyFile.aspx?富=酒吧
答案 1 :(得分:5)
对此的常见解决方案称为Post Redirect Get (PRG),其中浏览器会在任何帖子后立即重定向到HTTP Get页面。有关Web表单实现,请参阅Post Redirect Get in asp.net。
答案 2 :(得分:1)
有多种方法可以防止这种情况发生。最简单的是Response.Redirect
到另一个页面,可以刷新而不会产生任何后果。
// process form post
Response.Redirect("anotherpage.aspx");