【问题标题】:How to hide a broken ASP.NET Image Control如何隐藏损坏的 ASP.NET 图像控件
【发布时间】:2017-06-26 16:26:15
【问题描述】:

我只能找到如何隐藏添加标签的图像的损坏图像。

<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")) %>' />

【问题讨论】:

    标签: javascript c# css asp.net web


    【解决方案1】:

    这里有两种可能性。您可以隐藏Image 或将网址更改为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" />
    

    【讨论】:

    • 我不得不将 Server.MapPath 更改为“~/images/products/{0}”,因为“../images/products/{0}”会引发错误,但这有效。我选择显示空白图像来代替损坏的图像。谢谢!
    【解决方案2】:

    如果您只关心不在客户端浏览器中显示损坏的图像,您可以使用 -

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

    【讨论】:

      猜你喜欢
      • 2013-07-29
      • 1970-01-01
      • 2018-01-29
      • 2019-05-06
      • 2017-06-16
      • 1970-01-01
      • 2023-04-07
      • 2011-06-02
      相关资源
      最近更新 更多