ASP.NET浏览器显示“网页已过期”的后退按钮(回发后)
发布时间:2020-12-16 00:01:39 所属栏目:asp.Net 来源:网络整理
导读:我在使用简单的ASP.NET应用程序和回发后的后退按钮时遇到问题. 有问题的页面上有一个简单的表单,一些文本字段等,以及一个做回发的下拉列表(autopostback). “正常”流程是用户填写表单并可能更改下拉列表.根据下拉值,页面内容可能会更改. 我遇到的问题是,在
我在使用简单的ASP.NET应用程序和回发后的后退按钮时遇到问题.
有问题的页面上有一个简单的表单,一些文本字段等,以及一个做回发的下拉列表(autopostback). “正常”流程是用户填写表单并可能更改下拉列表.根据下拉值,页面内容可能会更改. 我遇到的问题是,在用户更改了下拉列表并且回发完成后,用户单击后退按钮.他们看到来自IE的“网页已过期”消息. 我设置了以下内容: Response.Cache.SetExpires(DateTime.Now.AddMinutes(-1)); Response.Cache.SetCacheability(HttpCacheability.Private); 但这似乎没有解决问题. 实际的Cache-Control响应头读取为:private,no-cache:“Set-Cookie” 在经典的ASP应用程序中,只有“私有”的Cache-Control响应头,后退按钮在“回发”后表现如预期. 反正是否强制ASP.NET将缓存控制明确设置为“私有”?或任何其他导致后退按钮和回发一起工作的解决方案? 谢谢! 解决方法
根据情况,您可能会使用此黑客/解决方法:
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-mvc – 尝试使用TeamCity构建asp.net mvc Web应用程
- 使用高性能Pipelines构建.NET通讯程序
- asp.net – Gridview在列标题中排序/向下箭头
- asp.net – jqgrid jsonReader配置
- asp.net – .NET 4.5中的样式包和CSS中的图标
- asp.net – 如何检测脚本管理器是否在页面上?
- ASP.NET MVC AJAX Sys是未定义的错误
- asp.net – SignalR,Owin和异常处理
- asp.net-mvc – 动态生成sitemap.xml
- asp.net – HttpWebRequestError:服务器提交协议冲突. Sec
推荐文章
站长推荐
- asp.net-mvc – MVC EditorFor里面的另一个Edito
- asp.net-mvc-3 – 带有HTML.ActionLink的ASP.NET
- asp.net-mvc-3 – 如果在Razor中的else语句不起作
- asp.net – 从IIS6向IIS7.5移动AJAX调用,在Syste
- ASP.NET分页控件
- ASP.NET Web Pages - WebMail 帮助器
- asp.net-mvc – OWIN – Authentication.SignOut
- asp.net-mvc – 验证日期格式无效
- asp.net-mvc – ASP.NET MVC:三态复选框
- asp.net-core – CoreCLR中的MD5CryptoServicePr
热点阅读