【发布时间】:2011-07-19 20:45:34
【问题描述】:
如何使用 ASP.NET 实现 Post-Redirect-Get 模式?
按钮点击执行一些处理:
<asp:Button id="bbLaunch" OnCommand="bbLaunch_Click" />
用户点击按钮,航天器发射,网页重新显示。如果用户按 F5,他们会收到警告:
问题的解决方案是Post-Redirect-Get 模式。
PRG在ASP.NET中的实现方法是什么?
问题围绕以下问题展开:
-
<asp:Button>怎么能在一个不是其原始形式的地方执行POST? - 当您发布到不读取视图状态的表单时,ViewState 会变成什么?
- 当您重定向到“真正的”aspx Web 表单时,ViewState 会变成什么?
-
ViewState 是否与
ASP.netPost-Redirect-Get 根本不兼容? - ASP.net 是否与 Post-Redirect--Get 根本不兼容?
- 如何(即什么代码)你重定向到“真正的”aspx web 表单?
-
如何(即什么 url)你重定向到“真正的”aspx web 表单?一个关系问题提到
Response.Redirect(Request.RawUrl); - 什么时候(即在什么事件处理程序中)你重定向到“真正的”aspx web 表单?
- 相关问题引发了如何您发布表单数据的问题。这意味着不能使用 HTML forms - 并且所有表单数据都必须添加到查询字符串中。这是真的?如果是这样,为什么?如果不是,为什么不呢? 可以浏览器将表单数据放入查询字符串中吗?
- 一个相关问题提到了
Server.Transfer。使用Server.Transfer是完全错误的,并且无法解决Post-Redirect-Get 问题(因为没有Redirect)。正确吗? - 必须在
aspx或aspx.cs文件中进行哪些代码更改才能支持PRG?据推测,至少,代码必须在MyPage.aspx之外的某个地方更改为post。
换句话说:你如何在 ASP.net 中进行 Post-Redirect-Get?
注意:ASP.net(即不是 ASP.net MVC)
另见
【问题讨论】:
标签: asp.net post-redirect-get redirect-after-post