Voi*_*ing 0 html c# forms post webmatrix
快速问题,我已经尝试过自己解决这个问题,但是在尝试弄清楚为什么或如何重新加载页面以及执行/不执行它应该执行的操作时,使用会话变量会让人感到困惑.
在任何(非脚本化)环境下,页面是否重新加载(使用JavaScript,f5,ctrl + f5,浏览器重新加载按钮等)会导致表单重新发布?
(这适用于在C#代码中使用IfPost分支,如下面的示例代码):
if(IsPost)
{
//stuff that only executes if the previous request was a post.
}
Run Code Online (Sandbox Code Playgroud)
我只是需要知道在这里期待什么,所以我可以正确诊断我的会话状态问题.
谢谢你的帮助!
(另外,对不起,如果我过分简化这个问题.我意识到它可能比简单的答案更复杂).
******更新********** 此外,我在StackOverflow上查找了此问题的副本,但我没有看到任何内容,所以如果这是一个重复的问题,我道歉.
这里的两个答案都是很好的答案.我接受了答案,也提出了我的问题的解决方案,虽然PRG不是"唯一"的方法,但似乎它可能是最好的.它似乎也是一种处理客户端用户友好性的越来越多的方式,而imho似乎是一个很好的习惯.
谢谢你给我看!
是.如果使用POST数据加载页面,则会发生这种情况.为了防止这种情况,您需要实现该POST/REDIRECT/GET模式.
Post/Redirect/Get(PRG)是一种Web开发设计模式,可以防止一些重复的表单提交,为用户代理(用户)创建更直观的界面.PRG以可预测的方式支持书签和刷新按钮,不会创建重复的表单提交.