La solution de @KarthikManoharan fonctionne pour les images locales. Cependant, si vous devez conserver ImageFields ou vérifier des images distantes, vous devez ajouter quelques lignes de javascript à votre code. La propriété NullImageUrl est prise en compte uniquement lorsque le champ de données lié correspondant est null. Il ne vérifie pas si l'URL de l'image est valide ou non.
Pour corriger votre URL brisée que vous pourriez faire ceci:
<asp:GridView runat="server" ID="mySuperGridView">
<Columns>
<asp:ImageField DataImageUrlField="ImageUrl" HeaderText="Image Preview" NullImageUrl="~/images/replacement.jpg" />
</Columns>
</asp:GridView>
$(function() {
$("#mySuperGridView").find("img").error(brokenImageHandler);
});
function brokenImageHandler(image, param1) {
$(image.target).attr("src", "images/replacement.jpg");
}
Gardez à l'esprit que cette fonction remplacerait toutes les images brisées dans votre gridview. Si vous souhaitez uniquement considérer vos ImageFields, vous devez utiliser un attribut personnalisé pour vos ImageFields. Cela peut être fait dans l'événement RowDataBound de la grille.
vérifiez la db pour que l'image déposée soit nulle ou vide, si elle est vide, elle ne fonctionnera pas. – KarthikManoharan
@KarthikManoharan J'ai besoin lorsque ce fichier n'est pas un fichier image, alors besoin d'afficher l'image par défaut ici. – TechGuy
Oh bien, même concept mais j'ai utilisé différemment je vais poster le code ci-dessous si vous avez besoin, vous pouvez l'utiliser. – KarthikManoharan