このように試すことができます。最初に、画像が存在するかどうか (AJAX コール リターンが存在するかどうか) を確認するための JS 関数を 1 つ作成し、それに応じて画像を変更する必要があります。
次に、onerror イベントで関数を呼び出します
function imgError(imageControl, path) {
$.ajax({
type: "POST",
async: true,
url: "test.aspx/CheckImageExists",
data: "{'imagePath':" + JSON.stringify(path) + "}",
contentType: "application/json; charset=utf-8",
success: function (response) {
if (response.d == "exists") {
imageControl.src = path;
}
else {
imageControl.src = 'img/errorimg.jpg';
}
}
});
return true;
}
<img src="<%# "admin/"+ Eval("imagath") %>" onerror="imgError(this,'<%# "admin/"+ Eval("imagath") %>')">
C#
[WebMethod]
public static string CheckImageExists(string imagePath)
{
string fullPath = HttpRuntime.AppDomainAppPath.ToString() + imagePath;
fullPath=fullPath.Replace('/','\\');
return File.Exists(fullPath) ? "exists" : "notexists";
}