2017-02-08 24 views
0

我只能找到如何隱藏添加了標籤的圖像的破損圖像。如何隱藏已損壞的ASP.NET圖像控件

<img src="sample.jpg" onerror="this.style.display='none';">

我怎麼會做這樣的.NET與圖像控制?

這裏是我的代碼:

<asp:Image AlternateText='<%#Eval("DisplayName") %>' ID="newsImage" width="77" height="57" align="middle" valign="top" runat="server" Visible='<%# Eval("ImageName").ToString() != "" %>' ImageUrl='<%#String.Format("../images/products/{0}", Eval("ImageName")) %>' /> 

回答

1

這裏有兩個可能性。例如,當找不到文件時,您可以隱藏Image或將URL更改爲noimage.jpg

<asp:Image Visible='<%# System.IO.File.Exists(Server.MapPath(String.Format("../images/products/{0}", Eval("ImageName")))) %>' ImageUrl='<%# String.Format("../images/products/{0}", Eval("ImageName")) %>' runat="server" ID="Image1" /> 

<asp:Image ImageUrl='<%# System.IO.File.Exists(Server.MapPath(String.Format("../images/products/{0}", Eval("ImageName")))) ? String.Format("../images/products/{0}", Eval("ImageName")) : "no-image.jpg" %>' runat="server" ID="Image2" /> 
+0

我不得不改變對使用Server.Mappath「〜/圖片/產品/ { 0}「,因爲」../images/products/{0}「拋出一個錯誤,但是這個工作。我選擇顯示空白圖像來代替破損的圖像。謝謝! –

2

如果你只關心不顯示在客戶端瀏覽器的一個破碎的形象,你可以使用 -

<asp:Image ... onerror="this.style.display='none';" />