gpt4 book ai didi

ASP.NET 浏览器显示后退按钮为 "web page has expired"(回发后)

转载 作者:行者123 更新时间:2023-12-02 18:58:03 25 4
gpt4 key购买 nike

我在使用简单的 ASP.NET 应用程序和回发后的后退按钮时遇到问题。

相关页面上有一个简单的表单、一些文本字段等,以及一个执行回发(自动回发)的下拉列表。

“正常”流程是用户填写表单并可能更改下拉列表。根据下拉值,页面内容可能会发生变化。

我遇到的问题是,在用户更改下拉列表并且回发完成后,用户单击后退按钮。他们看到来自 IE 的“网页已过期”消息。

我设置了以下内容:

Response.Cache.SetExpires(DateTime.Now.AddMinutes(-1));
Response.Cache.SetCacheability(HttpCacheability.Private);

但这似乎并没有解决问题。

实际的 Cache-Control 响应 header 读取为:private, no-cache:"Set-Cookie"

在经典 ASP 应用程序中,如果 Cache-Control 响应 header 仅为“私有(private)”,则后退按钮在“回发”后将按预期运行。

是否有办法强制 ASP.NET 将缓存控制显式设置为“私有(private)”?或者有任何其他解决方案可以使后退按钮和回发很好地协同工作?

谢谢!

最佳答案

根据具体情况,您可能会使用此黑客/解决方法:

 private void Page_PreRender(object sender, System.EventArgs e)
{
if (IsPostBack && !IsCallback)
{

Response.Write("<html><head><script>location.replace('" + Request.Path + "');\n" + "</script></head><body></body></html>\n");

Response.End();

}

}

关于ASP.NET 浏览器显示后退按钮为 "web page has expired"(回发后),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9775063/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com