c# - 如果找不到指定的图像文件,显示默认图像的最佳方式是什么?

标签 c# asp.net language-agnostic

我有普通的电子商务应用程序,我将 ITEM_IMAGE_NAME 存储在数据库中,有时经理会拼错图像名称。

为了避免“丢失图像”(IE 中的红色 X),每次我显示产品列表时,我都会检查服务器以查找与产品相关的图像,如果该文件不存在 - 我将其替换为默认图片。

据我所知,这不会影响性能,但我想知道是否有任何替代方法可以解决“丢失图像”问题。

我正在使用 ASP.NET + C# (.NET 3.5)

部分代码:

foreach (Item item in Items)
{
  string path = Path.Combine("~/images/", item.categoryImage);
  item.categoryImage = File.Exists(Server.MapPath(path)) ? item.categoryImage : GetImageDependingOnItemType();
}

最佳答案

你可能会考虑使用 javascript

<img src="image.jpg" onerror="this.onerror=null;this.src='default.jpg'">

编辑:或者编写 404.aspx 返回默认图像,如果请求的图像不存在的话。

关于c# - 如果找不到指定的图像文件,显示默认图像的最佳方式是什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/717734/

相关文章:

c# - 如何检查页面是否从上一页重定向或不在 asp.net 中

c# - 创建更加用户友好的显示。我的想法,可能吗?

c# - 使用 WCF 的身份验证服务

javascript - 如何根据列条件设置默认颜色

language-agnostic - 一般来说,Web 框架如何支持 REST 风格?

c# - EF 从 Type 获取运行时的记录列表

c# - WPF RadioButton InverseBooleanConverter 不工作

.net - 有人知道 ASP.NET MVC 4 的进展吗

language-agnostic - 验证码验证逻辑?

database-design - 电子商务网站结账建模