Post/Redirect/Get 提醒用户?
Post/Redirect/Get with alert to user?
我有一个 ASP.NET WebForms 应用程序,它处理 post 请求并通过 JavaScript 警报(通过 ClientScript.RegisterStartupScript
...)向用户显示消息。在客户端代码执行后的某个时刻刷新页面,当然我得到 "To display this page, Firefox must send information that will repeat any action (such as a search or order confirmation) that was performed earlier" 或其他浏览器中的类似代码。
现在,我知道 Post/Redirect/Get 模式,但如果我在 post 之后立即重定向 - 我无法显示 JS 警报。有没有办法显示警报并执行服务器端重定向?我知道我可以添加一个特定的查询字符串来重定向 URL,在页面加载时检查它并显示警报(如果它存在),但这意味着如果刷新重定向的页面 - 我将再次收到该警报,这是不希望的。有没有一种方法可以做到这一点而不涉及复杂的混乱标志?
TempData
in ASP.NET MVC 用于重定向。如果你在那里存储一条消息,你将能够检查它并在重定向后显示它。如果刷新页面,该值将不会保留,因此不会再次显示,补充 PRG 模式。
我看到它作为 ActionResults 的扩展实现,就像在 FunnelWeb 博客源中一样:
对于 WebForms,我认为唯一的选择是使用 Session
并在访问后清除它,尽管您应该能够围绕它创建一个包装器,就像上面的 link 一样,功能相同:
equivalent of ASP.NET MVC TempData in ASP.NET
我有一个 ASP.NET WebForms 应用程序,它处理 post 请求并通过 JavaScript 警报(通过 ClientScript.RegisterStartupScript
...)向用户显示消息。在客户端代码执行后的某个时刻刷新页面,当然我得到 "To display this page, Firefox must send information that will repeat any action (such as a search or order confirmation) that was performed earlier" 或其他浏览器中的类似代码。
现在,我知道 Post/Redirect/Get 模式,但如果我在 post 之后立即重定向 - 我无法显示 JS 警报。有没有办法显示警报并执行服务器端重定向?我知道我可以添加一个特定的查询字符串来重定向 URL,在页面加载时检查它并显示警报(如果它存在),但这意味着如果刷新重定向的页面 - 我将再次收到该警报,这是不希望的。有没有一种方法可以做到这一点而不涉及复杂的混乱标志?
TempData
in ASP.NET MVC 用于重定向。如果你在那里存储一条消息,你将能够检查它并在重定向后显示它。如果刷新页面,该值将不会保留,因此不会再次显示,补充 PRG 模式。
我看到它作为 ActionResults 的扩展实现,就像在 FunnelWeb 博客源中一样:
对于 WebForms,我认为唯一的选择是使用 Session
并在访问后清除它,尽管您应该能够围绕它创建一个包装器,就像上面的 link 一样,功能相同:
equivalent of ASP.NET MVC TempData in ASP.NET