所以我的网站上有一个库存管理系统,其中包含一个显示各种库存和库存信息的表格。
当"图像"单击链接,图像的会话变量在"显示"之间切换。并且"隐藏"然后使用更新的变量重新加载页面,并为每个产品显示或隐藏图像。
这在Chrome,Firefox和Opera中完美运行(都经过彻底测试),但在IE8中根本不起作用。
通常我会责怪我的代码,但很明显这是一个纯粹的浏览器兼容性问题,这真的让我失望,因为我没有意识到ASP和VBScript真的需要改变才能在不同的浏览器上工作。
我已经附加了下面切换会话变量的代码,但我怀疑它是否与问题有关。
images = Request.QueryString("images")
If images <> "" Then
If images = "show" Then
Session("images") = "Show"
ElseIf images = "hide" Then
Session("images") = "Hide"
End If
End If
问题的一个例子如下:
我显示一些项目并点击&#34;隐藏图像&#34;然后图像隐藏..
然后我重新加载页面,图像再次显示,Session变量已更改回&#34; show&#34;尽管代码中有NOWHERE指定返回到先前的值(使用Ctrl + F检查关键字&#34; images&#34;)
有没有其他人遇到过类似的问题,其中Session变量在IE中以不寻常的方式运行,或者可以提出解决方案?
谢谢,乔希
答案 0 :(得分:3)
非常感谢,乔希 - 你走了。
您可以使用Server.URLEncode()
(classicasp.aspfaq.com/general/...)方法来解决此问题。
答案 1 :(得分:2)
Classic ASP的服务器端代码与浏览器无关。更有可能出现问题的方法是您显示或隐藏该部分的方式。
检查您的代码,并特别注意您用于实际显示和隐藏的方法。使用IE8中的开发人员工具查看包含产品的块的样式。
答案 2 :(得分:1)
经过进一步研究后,我发现为什么我的页面无法通过Microsoft支持页面正常工作。
http://support.microsoft.com/kb/316112
我的网页网址中有下划线导致会话变量和Cookie无法保存。
希望这有助于将来的其他人
约什
答案 3 :(得分:0)
您是否尝试在分配会话值的同一页面中检索/显示会话值?我只是要求确定,因为需要往返服务器才能保存这些会话值。