我有 asp.net 表单应用程序当用户单击 F5 或刷新时出现错误,它将输入上次数据输入的数据。如果用户单击 F5 或刷新,他们是否会阻止发送数据?
user474901
问问题
17545 次
3 回答
14
在 ASP.NET 中,通过重定向到自身很容易将页面重置为其初始状态。这里有 3 种方法可以做到:
- 响应。重定向(请求。路径);
其中请求的路径以下列形式显示:/MyApp/MyFile.aspx
- Response.Redirect(Request.RawUrl);
其中不仅暴露了路径,还暴露了任何查询字符串参数,例如:/MyApp/MyFile.aspx?foo=bar
- Response.Redirect(Request.Url.ToString());
其中不仅公开了 path 和 querystring 参数,而且还提供了以下形式的绝对引用:MyServer/MyApp/MyFile.aspx?foo=bar
于 2012-09-10T14:12:24.857 回答
6
一个常见的解决方案称为Post Redirect Get (PRG),在任何帖子之后,浏览器都会立即重定向到 HTTP Get 页面。有关Web 表单实现,请参阅 asp.net 中的 Post Redirect Get 。
于 2012-09-10T14:12:35.483 回答
1
有多种方法可以防止这种情况发生。最简单的方法是转到Response.Redirect
另一个页面,该页面可以刷新而不会产生任何后果。
// process form post
Response.Redirect("anotherpage.aspx");
于 2012-09-10T14:12:37.837 回答