IIS 5.1 / 6.0与DataGrid和SqlDataSource刷新的差异

时间:2009-01-26 22:19:40

标签: web-applications caching iis-6 sqldatasource iis-5

我在这里遇到一个奇怪的问题......

我有一个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 重新加载新数据(立即弹出)。再次单击“查看”会转到错误项目。

显然存在某种缓存问题,但我无法弄清楚......有什么想法吗?

1 个答案:

答案 0 :(得分:0)

我不确定它的确切原因或原因,但正如我所料,这是一个缓存问题。当我添加声明时:

Response.CacheControl = "no-cache";

对于Default.aspx.cs,问题就消失了。后退按钮搞砸了请求模式也就不足为奇了,但我确实发现,在我的笔记本电脑上运行的IIS 5.1比IIS 6.0更好地处理后退按钮...