2009-07-25 108 views
0

IE8不刷新弹出窗口,显示一些基本的JavaScript操纵器的图像。IE8不刷新弹出窗口

我想调查与IE 8和ASP.net 3.5的问题,但我没有太多的运气与该研究。

所以我在做什么?

我有一个选项卡容器(Ajax控件工具包),它包含一个gridview,当你选择它时,它会显示一个弹出选择图像。我通过Session变量传递图像位置。在Firefox 3.5中,它总是显示不同的图像。

这里是代码被插入到页面的JavaScript:

Dim javatext As New System.Text.StringBuilder() 
Session("ImageLoc") = Path 
javatext.Append("<script>window.open('" & "ImageViewer.aspx" & "',null,'left=400,") 
javatext.Append(" top=100,height=600px, width=600px, status=no, resizable= yes, scrollbars= yes,") 
javatext.Append("toolbar= no,location= no, menubar= no');</script>") 

ClientScript.RegisterStartupScript(Me.GetType(), "showTreatMedia", javatext.ToString()) 

此代码与不同的路径是在网格视图两个命令按钮。路径根据用户是否需要压缩格式或原始格式而有所不同。检查它第一次进入的代码,但不是第二次。放映图像窗口的

页负载:

Protected Sub Page_Load(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Load 
     If Not IsNothing(Session("ImageLoc")) Then 
      imgPic.ImageUrl = Session("ImageLoc") 
     End If 
End Sub 

而且该网站是在IE7兼容模式下运行。

回答

0

好的,发生了什么事,我一直在使用相同的URL。我添加了以下代码:

Dim rand As New Random 
Dim numvalue As Integer = rand.Next(0, 2000) 
Session("ImageLoc") = objMedia.PathFull 
javatext.Append("<script>window.open('" & "ImageViewer.aspx?something=" & numvalue & "',null,'left=400,") 
javatext.Append(" top=100,height=600px, width=600px, status=no, resizable= yes, scrollbars= yes,") 
javatext.Append("toolbar= no,location= no, menubar= no');</script>") 

ClientScript.RegisterStartupScript(Me.GetType(), "showTreatMedia", javatext.ToString()) 

现在它每次都会改变图片并拾取新路径。所以在会话变量中保存图像的路径是一个错误。而且似乎IE8需要更改路径来刷新弹出窗口。

希望这可以帮助其他人。

+1

真正的问题可能是您的ImageViewer.aspx页面没有发送缓存标题,这会阻止IE重新使用以前缓存的页面版本。在这里了解更多信息:www.fiddler2.com/redir/?id=httpperf – EricLaw 2009-07-30 16:51:51