我在这里遇到一个奇怪的问题......
我有一个ASP.NET 3.5应用程序,它在Default.aspx上有一个GridView和一个SqlDataSource。 GridView被数据绑定到SqlDataSource。 GridView的每一行都有一个名为“View”的按钮,可以将用户发送到一个可以编辑行的单独页面。
我有两个这个应用程序的安装 - 一个在我的开发笔记本电脑上,它是运行IIS 5.1的XP,另一个是运行IIS 6.0的Windows 2003服务器。 web.config文件是相同的,IIS配置属性是相同的,并且它正在访问相同的数据库。
在我的笔记本电脑上,我看到的行为是“正确的”,并且像这样: 1.打开页面,通过分页链接选择数据网格的第15页。 2.单击记录的视图按钮,查看编辑页面。 3.单击“返回”按钮,您将返回到Default.aspx页面,并使用新数据重新加载/刷新GridView。再次单击“查看”会转到正确的项目。
在服务器上,我看到了这个: 1.打开页面,通过分页链接选择数据网格的第15页。 2.单击记录的视图按钮,查看编辑页面。 3.单击“返回”按钮,返回到Default.aspx页面,GridView NOT 重新加载新数据(立即弹出)。再次单击“查看”会转到错误项目。
显然存在某种缓存问题,但我无法弄清楚......有什么想法吗?
答案 0 :(得分:0)
我不确定它的确切原因或原因,但正如我所料,这是一个缓存问题。当我添加声明时:
Response.CacheControl = "no-cache";
对于Default.aspx.cs,问题就消失了。后退按钮搞砸了请求模式也就不足为奇了,但我确实发现,在我的笔记本电脑上运行的IIS 5.1比IIS 6.0更好地处理后退按钮...