【问题标题】:Display a default photo显示默认照片
【发布时间】:2021-10-17 10:36:25
【问题描述】:

当没有选择图像时,我试图将图像显示为默认值。

var photoContentHtml = "";
if (restService.category === "Photo") {

     photoContentHtml = "<img onerror='this.onerror=null;this.src=\'http://app.org/layerimages/noimage.jpg\'' src='http://app.org/layerimages/{photo}' width='200px' height='150px'>";
}

onerror 似乎不起作用。它不断返回一张破损的照片。根据我在控制台中看到的,它返回一个404 并获得路径app.org/layerimages/ 没有noimage.jpg。 如果我浏览链接,它会返回照片并在应用程序中显示如下

关于我做错了什么有什么想法吗?

更新: 没有上传的照片仍然显示损坏的图像图标。

上传的照片没有图片

【问题讨论】:

  • 你数过onerror=后面的单引号吗?
  • 我为onerror 打开一个单引号,然后为src 打开一个单引号,然后我关闭它们。
  • 参见:How does one use the onerror attribute of an img element(这使得这是一个关于 HTML 或 JavaScript 的问题?)
  • img onerror='this.onerror=null;this.src=http://app.org/layerimages/noimage.jpg\' 这也不起作用。我不确定是否可以这样做,我将整个内容转换为字符串并将值分配给photoContentHtml
  • 我认为链接说,使用:img onerror="this.src='http://app.org/layerimages/noimage.jpg\';"

标签: c#


【解决方案1】:

如何在 HTML 中使用单引号和/或双引号的示例:

预期:

  • 1.png2.png 应该在场,
  • 1error.png 不应出现
<img alt="1" src='1.png' >
<hr>
<img alt="2" src="1error.png" onerror="true;this.src='2.png';">

上方会显示1.png,下方会显示2.png

C#中相同的代码:

String htmlcode = $"<img alt=\"1\" src='1.png' ><hr><img alt=\"2\" src=\"1error.png\" onerror=\"true;this.src='2.png';\">";

【讨论】:

  • 这有点用。如果有图片上传,它会同时显示上传的图片和noimage.jpg。如果没有上传照片,它会显示一个破损照片的图标,并在下方显示noimage.jpg,如在更新后的原始问题中所示。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2017-12-02
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2019-11-06
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多