1

当我注意到某些页面的后退按钮不可用时,我正在处理一些 ASP.NET 2.0 页面 - 显示为灰色。并且单击它们旁边的下拉菜单显示了清晰的结果,就好像我刚来到这个页面一样。我查看了代码,试图找到专门禁用后退按钮的东西(重定向,聪明的 javascript),但什么也没找到。所以我开始拆开页面并注意到当两个特别大的下拉列表(一个有 38,000 个项目!)被注释掉时,后退按钮将再次可用。“注释掉”是指我没有在后面的代码中对它们进行数据绑定。

在我继承这个项目之前,这些页面似乎可以正常工作。我们所做的其中一件事是将服务器从 .NET 2.0 升级到 .NET 3.5,尽管代码仍然针对 2.0 框架。我怀疑这是罪魁祸首。

在 IE 6 和 IE 8 以及所有最新更新中都会出现此问题。它发生在包含我能找到的所有更新的 Server 2003 RC2 上,以及客户端已选择性更新但都运行 IE 6 的 Windows XP 机器上。

我的问题是,有没有人听说过这个,如果有,是什么原因造成的?它只是一个 Internet Explorer 错误吗?

4

1 回答 1

3

好吧,38k 选项@ 28 个字符^1 仅针对选项就提供了 1,064,000 个字符的页面大小,更不用说随附的视图状态。哪一个,当我想到它时,它可能正在杀死 IE,因为您的 POST 大小必须在兆字节范围内。

就个人而言,与其解决您可能无法解决的问题,我更愿意从重构界面的更简单的方面来解决它,以便用户获得可管理数量的选项。我真的不知道一个人怎么能在一开始就选择正确的 38k 。. .

^1: <option value="x">y</option> 大约与 ASP.NET 生成的选项一样短,即 28 个字符。我敢打赌,我们正在查看的数据远不止这些。我祈祷这是一个 Intranet 应用程序。. .

于 2009-06-09T22:50:29.403 回答