【发布时间】:2017-03-14 22:40:16
【问题描述】:
我有一个 asp.net 网络表单,我在其上单击一个按钮来填充服务器端 C# 变量。如果我是正确的,这是通过 HTTP POST 发生的(回发,因为我使用 HTTP 请求的正文将用户提供的数据与网络表单一起重新发送回服务器)
当服务器收到回发后,它会向客户端发送一些指令(例如“显示警报消息”)。
我的问题是,当我刷新 (F5) 网络表单时,最后执行的任何操作都会重新执行。因此,当我刷新页面时会重新执行回发,从而触发来自服务器的响应。
如何禁用此行为?我的意思是,按 F5 怎么能像第一次一样重新加载页面(我想我所有的变量后面的代码也将恢复为默认值......)
【问题讨论】:
-
讨厌这样说,但 Web 表单开发人员有点坚持这种行为。避免这种情况的唯一方法是确保用户正在查看的页面来自 GET 而不是 POST。在 MVC 中很容易,但在 Web 表单中很难。
-
@JohnWu 现在对 MVC 了解不多……但是您知道我如何“抓住” F5 吗?然后我会手动处理它