Internet explorer 经典的ASP。网页已过期。!错误

Internet explorer 经典的ASP。网页已过期。!错误,internet-explorer,vbscript,asp-classic,iis-7,Internet Explorer,Vbscript,Asp Classic,Iis 7,在过去的两天里,我一直在绞尽脑汁寻找解决方案,我尝试了很多方法,但都没有成功,有人能帮我解决这个问题吗 我使用的是经典Asp,在按钮点击事件中,我加载一个带有网格的页面,然后从网格中选择一条记录,它会将我带到另一个页面,其中显示记录的所有详细信息。当我回击返回网格并看到另一条记录时,我在IE中得到一个错误“Webpage has Expired”和“Confirm form Resubmission”,当我刷新页面时,我会弹出一条消息,如下所示 “要再次显示网页,web浏览器需要重新发送您以前提

在过去的两天里,我一直在绞尽脑汁寻找解决方案,我尝试了很多方法,但都没有成功,有人能帮我解决这个问题吗

我使用的是经典Asp,在按钮点击事件中,我加载一个带有网格的页面,然后从网格中选择一条记录,它会将我带到另一个页面,其中显示记录的所有详细信息。当我回击返回网格并看到另一条记录时,我在IE中得到一个错误“Webpage has Expired”和“Confirm form Resubmission”,当我刷新页面时,我会弹出一条消息,如下所示

“要再次显示网页,web浏览器需要重新发送您以前提交的信息。”等等

使用两个按钮重试和取消

我点击“重试”,它会再次打开带有网格的页面。那么有没有办法避免出现错误页面和弹出窗口,直接打开包含网格的页面呢

我也尝试了“获取”方法,即使这样也不起作用

我添加了MSDN中提到的以下代码


除非你在做一些奇怪和/或古怪的事情,否则什么都不起作用

<form method="get" action="mypage.asp">

不会被缓存,因此不会收到“网页过期”消息


你说“点击按钮事件”-这是否意味着你通过Javascript在客户端做所有事情?如果是这样,您是否确定原始页面是通过
method=“get”
,而不是
post

请求的?如果指定页面过期,则不必更改HTTP方法:
response.Expires=60
将在下一个小时内保持页面缓冲


如果您使用
进行更改,并将其更改为
,您还必须更改接收页面以查看
请求。querystring
而不是
请求。form

它是不同页面中的一个按钮,就像我点击“执行查询”时的查询一样,它会将我带到不同页面并显示网格。@新手,好,因此,您有了Page1.asp,它有一个带有“执行查询”按钮的表单。当您按下该按钮时,Page2.asp将在一个新的选项卡/窗口中打开,其中包含记录列表。单击Page2.asp上的链接时,它会在同一选项卡/窗口中打开,如果使用浏览器的“后退”按钮,则会出现“过期页面”警告。这是正确的吗?如果是,请确保Page1.asp上的表单使用
method=“get”
。如果它使用Javascript来运行查询,请确保Javascript没有以某种方式切换提交方法。具有带有“执行查询”按钮的表单的Page1.asp。当您按下该按钮时,Page2.asp将在一个新的选项卡/窗口中打开,其中包含记录列表。单击Page2.asp上的链接时,它将在另一个Page3.asp中打开。当我点击Page3.asp返回到Page2.asp时,我得到了这个“网页过期”错误。@RookieRoll:这就是我说的。或者是说……)关键是Page1.asp是一个带有表单的页面,提交所述表单会打开一个新的选项卡/窗口。单击Page2.asp上的链接不会打开新的选项卡/窗口,这就是为什么“后退”按钮很有用(或可能有用)。归根结底,您需要确保Page1.asp没有做任何事情使Page2.asp过期,最简单、最可靠的方法是确保表单使用
method=“get”
Response.buffer=true
Response.Expires = -1
Response.ExpiresAbsolute = Now() -1 
Response.AddHeader "pragma", "no-store"
Response.AddHeader "cache-control","no-store, no-cache, must-revalidate"
<form method="get" action="mypage.asp">