2015-06-25 92 views
0

我一直在抓我的头从最后2天找到解决方案,我尝试了很多方法,但没有奏效,有人可以帮我解决这个问题。经典ASP。网页已过期。错误

我使用的是经典的ASP,在按钮上单击事件我加载了一个带有网格的页面,然后我从网格中选择了一条记录,它将我带到另一个页面,显示记录的所有细节。当我回到网格并看到另一条记录时,IE中出现错误“网页已过期”,当我刷新页面时,出现“确认表单重新提交”。我弹出如下消息

“要再次显示网页,网络浏览器需要重新发送您之前提交的信息。”依此类推......

使用2个按钮重试和取消。

而我点击“重试”它再次打开网格的网页。那么有没有办法避免错误页面和弹出窗口,并直接打开其中的网格。

我也试过“Get”方法,即使这样也行不通。

我添加试图在MSDN https://support.microsoft.com/en-us/kb/183763

<%Response.CacheControl="Public"%> 

,并提到了下面的代码我也用以下清空缓存

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" 

没有什么工作

回答

0

除非你正在做的奇怪的东西和/或扭曲的东西,

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

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

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

+0

它是一个不同的页面中的按钮,当我点击执行查询时,它会将我带到另一个页面并显示网格。 – RookieRoll

+0

@RookieRoll,好的,所以你有Page1.asp,它有一个带有“执行查询”按钮的窗体。当您按下该按钮时,Page2.asp将在带有记录列表的新选项卡/窗口中打开。当您单击Page2.asp上的链接时,它会在相同的选项卡/窗口中打开,然后如果使用浏览器的“后退”按钮,则会出现“过期页面”警告。它是否正确?如果是这样,请确保Page1.asp上的表单使用'method =“get”'。如果它使用Javascript来运行查询,请确保JavaScript不会以某种方式切换您的提交方法。 – Martha

+0

不,你让我在这里错了一半。 Page1.asp具有带有“执行查询”按钮的表单。当您按下该按钮时,Page2.asp将在带有记录列表的新选项卡/窗口中打开。当您单击Page2.asp上的链接时,它会在另一个Page3.asp中打开。当我回到Page3.asp返回Page2时。asp然后我得到这个“WebPage过期”的错误。 – RookieRoll

0

如果指定页面过期,则不必更改HTTP方法:response.Expires=60将使页面在下一小时内保持缓存。

如果更改使用<FORM method='post'>和您更改为<FORM method='get'>你也必须改变你的接收页面看request.querystring而不是request.form