分析:特别注意 onerror,当图片不存在时,将触发 onerror,而 onerror 中又为 img 指定一个 NoPic.gif 图片。也就是说图片存在则显示 pic.gif,图片不存在将显示 noPic.gif。但问题来了,如果 noPic.gif 也不存在,则继续触发 onerror,导致循环,故出现错误。说明:如果图片存在,但网络很不通畅,也可能触发 onerror。
<img src="pic.gif" onerror="javascript:this.src='/noPic.gif';" alt="pic" />
string img=String.Format("<img src=\"{0}\" width=\"{1}\" height=\"{2}\" onerror=\"javascript:this.src='{3}';\" >", headImage, width.ToString(), height.ToString(), );