我們最近使用.NET 4.0 Framework將我們的服務器更新爲.NET 4.5 Framework。更新之前,一切正常。更新之後,看起來ASP:Image標籤和ASP:ImageButton標籤以及runat =「server」的任何其他圖像都顯示爲損壞的圖像。將.NET 4.0升級到.NET 4.5在Asp.net應用程序中破壞圖像
我已經知道爲什麼它們會顯示爲破碎的圖像,src屬性根本不會被添加到img標記,一旦它生成爲HTML,我遇到的問題是找出發生這種情況的原因。
相關代碼如下:
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;">
onmouseover和的onmouseout事件被附加由一個JavaScript插件以後,但似乎對圖像的實際處理沒有影響。事實上,如果我將鼠標懸停在按鈕上,圖像就會出現,因爲這就是JavaScript正在做的事情,顯示不同的圖像以進行懸停。
我想這是值得一提的是,這種情況正在發生,即使在最基本的<ASP:Image>
標籤,如:
<asp:Image ImageUrl="images/j0285247.gif" runat="server" ID="leftIcon" />
被顯示出來,一旦頁面加載作爲
<img id="leftIcon">
不幸這是我們正在處理的一些遺留代碼,所以它非常難看,但我只需要使它與.NET 4.5一起工作,並且我爲什麼沒有附加src屬性就會丟失到基於ASP標籤中的ImageUrl屬性的img標籤。
我們已經嘗試了一些簡單的事情,比如增加~/
到的ImageUrl路徑的前面,但是這並沒有幫助,因爲我認爲這是少做實際的路徑,多與做一些.NET 4.5那.NET 4.0沒有。
如果有人有任何想法,那就太好了。
謝謝。
setGraphic是JavaScript函數之一,並且當您將鼠標懸停時,圖像確實出現。所有的客戶端電話都正常工作,如果我將鼠標懸停在它們上面,圖像就會出現。問題是服務器應該找到映像的初始頁面加載。在這種情況下,不,根本沒有任何URL調用來試圖找到圖像,這是我發現它只是一起缺少src屬性。 –
你有任何其他的JavaScript代碼可能會在頁面加載時修改源代碼嗎? – Sean
我試着從代碼中刪除所有的JS,看看它是否會改變,而當mouseout/mouseover代碼不存在時,問題仍然存在。我猜這值得注意的是,即使在最基本的''標籤上,例如' '正在顯示一旦頁面加載爲''。我會將其添加到原始問題中。 –