0

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

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

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

4

1 回答 1

0

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

Response.CacheControl = "no-cache";

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

于 2009-01-28T14:18:48.153 回答