2010-11-24 5 views
2

J'utilise webservice pour charger l'image dans la boîte d'images à partir de la base de données. Si la base de données n'a pas d'image, elle affiche la zone d'image sans image. Mais je veux que la zone image ne soit pas visible quand elle n'a pas d'imageComment faire pour que l'imagebox ne soit pas visible quand elle n'a pas d'image dans asp.net

Ci-dessous le code que j'ai utilisé pour charger l'image

MyImg.ImageUrl = @"~/ShowImage.ashx?id=" + MyID; 

Merci d'avance pour vos réponses ..

Répondre

1

Vous pouvez faire quelque chose comme:

if (DoesImageExist(MyID)) { 
    MyImg.ImageUrl = @"~/ShowImage.ashx?id=" + MyID; 
    // Just in case we hid the image during the previous request 
    // and ViewState is enabled: 
    MyImg.Visible = true; 
} else { 
    MyImg.Visible = false; 
} 
+0

Mais MyID est juste l'ID utilisateur que je passe comme une valeur de chaîne de requête au webservice .. Je parle de la valeur nulle retournée par le webservice – Dhamu

+0

@Dhamu, alors comment savez-vous si l'image existe ou non? Votre gestionnaire 'ShowImage.ashx' renvoie-t-il' 404' dans ce cas? –

+0

non ..juste une valeur nulle si l'image n'existe pas. – Dhamu

0

Lorsque votre gestionnaire est appelé, il est trop tard pour ma ke le contrôle invisible. Ce que vous pouvez faire est cependant (lorsque la base de données ne renvoie aucune image) pour retourner ensuite une image fixe de pixel blanc (ou transparent). La balise <img> est toujours sur la page, mais l'utilisateur ne voit pas une erreur «image non disponible». La seule autre façon est de vérifier si les données sont disponibles (pas besoin d'obtenir l'image complète, juste qu'il est là) quand vous rendre le contrôle, de sorte que vous pouvez le rendre invisible lorsqu'il n'y a pas d'image.

+0

Merci pour l'idée .. – Dhamu

Questions connexes