[asp.net]Safari 浏览器的残缺的 asp︰ 图像

发布时间: 2017/3/26 2:03:55
注意事项: 本文中文内容可能为机器翻译,如要查看英文原文请点击上面连接.

我用这样的 ASP.net 图像标记。

<asp:Image ID="Image6" runat="server" ImageUrl='<%#Eval("DeviceStatusFlag")%>' alt=''/>

现在当 ImageURL 是空白然后正常断开的图像出现在某些浏览器像火狐浏览器,但使用后 ält='' 这些浏览器显示什么位置很好的图像。 但我仍然看到的 Safari 浏览器吗?ImageURL 为空时,将标记图像图标。

也尝试过使用这,

 <asp:Image ID="Image6" runat="server" ImageUrl='<%#Eval("DeviceStatusFlag")%>' AlternateText = '' GenerateEmptyAlternateText='true' />

但它也不能 Safari。

如何修复这个野生动物园了?

解决方法 1:

首先我怀疑它是 asp︰ 图像的问题,如果你把它替换标准的 HTML img 标签,我可以想象它会做同样的。

清楚地野生动物园想要呈现空 src 属性的方式。您可以使用 JavaScript 来隐藏它,如果它是空的或添加透明的图像,而不是什么。

我个人不认为它是空的图像 src 的好做法。

您也可以使用一个 div,与背景图像的 src,会处理无作为的设置。

编辑︰ 和 alt 标记是图像被关闭或辅助功能的替换文字。虽然这可能会改变某些浏览器中的行为,但那不是它的意图。

编辑 2。

若要隐藏您的 asp.net 服务器控件。

<asp:Image ID="Image6" runat="server" visible="False" ImageUrl='<%#Eval("DeviceStatusFlag")%>' alt=''/>

它也许更容易为您更改两个 ImageUrlVisible 在服务器端。

<asp:Image ID="Image6" runat="server">

如︰

Image6.Visible = False
Image6.ImageUrl = DeviceStatusFlag

要实际呈现的 url <img 标记呈现。

使用

Image6.ClientID

你可以嵌入,容易的 HTML,如下所示︰

<script>

function setImageVisibility() {
  var imageID = "<%=Image6.ClientID%>",
      imageElement = document.getElementById(imageID);

  if(imageElement) {
     if(imageElement.src === "") {
           imageElement.style.visibility = "hidden";
     }
  }

}

setImageVisibility();

</script>
官方微信
官方QQ群
31647020