2011-07-19 21 views
0

我对ASP.NET相当陌生,当然碰巧遇到了一些奇怪的问题。
问题非常受欢迎,但我找到的答复都不适合我。ASP.NET Image Control在ImageUrl更改后未更新

我有一个简单的图片:

<asp:Image ID="userImage" runat="server" ImageAlign="Right" /> 

而在代码隐藏:

If Not Session("selecteduser") Is Nothing Then 
    userImage.ImageUrl = "~/showphoto.aspx?user=" & Session("selecteduser") 
End If 

而且图像不会改变。它甚至没有启动showphoto.aspx代码。 属性发生变化(因为下一次我进入它,它已更改),但showphoto永远不会被触发。

我知道图像缓存问题,但我甚至无法获取一张图像,也没有提及它是否发生了变化。 肯定有一个非常简单的解释,但我与此战斗了2天,现在无济于事。

+0

检查图像路径 – Rahul

+0

右键单击HTML网页,在网页上,并看到所呈现的代码 - 看到有最终路径的。图片和尝试调用的内容,你也可以在谷歌浏览器上看到firebug或检测工具,看看有什么需要寻找 – Aristos

+0

@Aristos - 问题是客户端路径没有改变,改变后的ImageUrl属性是唯一的在服务器端可见(代码隐藏) – ufoq

回答

0

我想问题可能是下列之一:

  1. 没有什么在会话对象“selecteduser”这可能会导致不设置ImageUrl属性。 (解决方法:调试代码以确认是否存在会话对象)

  2. 正在设置图像url,但图像未更改,这可能是浏览器缓存问题。 (解决方法:将当前日期时间附加到查询字符串参数列表中,以强制浏览器加载新图像)。

  3. “showphoto.aspx”是一个页面,而不是一个图像,所以它返回的HTML代码没有被翻译成图像。 (分辨率:更改内容类型属性本页面是图像

+0

1.确认(我甚至可以使用静态文本,但仍然不起作用),2.将尝试,3. showphoto.aspx使用response.binarywrite写回jpg,并完美地运行它自己。 – ufoq

+0

尝试添加这个以及'context.Response.AddHeader(“Content-Type”,“image/jpeg”);' –

+0

但showphoto.aspx永远不会启动。从来没有...... – ufoq