2010-03-06 14 views
0

compilateur Message d'erreur: CS0030: Impossible de convertir le type 'System.Web.UI.Control' à 'System.Web.UI.WebControls.ImageField'contrôle d'image à partir de l'accès codebehind

Line 107: protected void BookListView_DataBinding(object sender, EventArgs e) 
Line 108: { 
Line 109:  ImageField img = (ImageField)BookListView.FindControlR("Image1"); 
Line 110:  if (img.ImageUrl == "") 
Line 111:   img.ImageUrl = "Snoimage.gif"; 

le contrôle est de trouver, mais ...

erreur est survenue dans la ligne 109

FindControlR est une extension pour trouver le contrôle

le contrôle est situé dans un listview

<asp:Image ID="Image1" runat="server" ImageUrl='<%# Eval("Pic_Address") %>' /> 

Répondre

0

Vous essayez de transformer un contrôle Image en un contrôle ImageField.

Essayez de modifier votre code légèrement:

Image img = (Image)BookListView.FindControlR("Image1"); 
+0

je veux accéder à la propriété ImageUrl du contrôle d'image, le problème est que je ne peux pas accéder au contrôle. FindControlR renvoie le contrôle, je veux savoir comment le convertir en imagefield afin que je puisse définir le ImageUrl dans le code derrière. – Mahdi

+0

Votre code est déjà en train de convertir le contrôle en ImageField. La raison pour laquelle il lance l'exception est que vous essayez de convertir le contrôle Image (ASP: Image) en ImageField (ASP: ImageField). Modifiez votre code de diffusion ou modifiez le code frontal pour utiliser ASP: ImageField. –

Questions connexes