将.NET 4.0升级到.NET 4.5,打破Asp.net应用程序上的图像

时间:2013-08-27 13:29:20

标签: asp.net .net image .net-4.0 .net-4.5

我们最近将服务器从.NET 4.0 Framework更新到.NET 4.5 Framework。在更新之前,一切正常。更新后,似乎ASP:Image标签和ASP:ImageButton标签以及runat =“server”的任何其他图像都显示为损坏的图像。

我已经弄清楚为什么它们会显示为损坏的图像,一旦将它生成为HTML,src属性就不会被添加到img标记中,我遇到的问题是弄清楚为什么会发生这种情况。 / p>

相关代码如下:

ASP:

<asp:imagebutton id="btnAdmin" Runat="server" ImageUrl="images/nav_b4.gif" Height="35" Width="79" CommandName="admin" AlternateText="Admin"></asp:imagebutton>

生成的HTML

<input type="image" name="btnAdmin" id="btnAdmin" onmouseout="tidyMenu(event);" onmouseover="openMenu(event,'nav_b4',1,5681366,16777215);setGraphic(event,'images/nav_b4_over.gif');return false;" alt="Admin" style="height:35px;width:79px;">

稍后通过JavaScript插件附加onMouseOver和onMouseOut事件,但这似乎对图像的实际处理没有影响。事实上,如果我将鼠标悬停在按钮上,图像就会出现,因为这就是JavaScript正在做的事情,显示不同的图像以进行悬停。

我想值得注意的是,即使是最基本的<ASP:Image>标签也会发生这种情况:

<asp:Image ImageUrl="images/j0285247.gif" runat="server" ID="leftIcon" />

一旦页面加载为

就会显示

<img id="leftIcon">

不幸的是,这是我们正在使用的一些遗留代码所以它非常难看但我只需要使用.NET 4.5并且我迷失了为什么src属性没有附加到img标签基于ASP标记中的ImageUrl属性。

我们尝试了一些简单的事情,例如在ImageUrl路径的前面添加~/,但这没有帮助,因为我认为它与实际路径不太相关,而是更多地与某些事情有关.NET 4.5不支持.NET 4.0。

如果有人有任何想法,那就太棒了。

谢谢。

1 个答案:

答案 0 :(得分:2)

管理我们服务器的人错误地安装了.NET 4.5 Beta,经过大量探索,我们发现了。在我们联系他让他解决问题之后,一旦安装了.NET 4.5生产版本,图像就会再次运行。