2011-02-01 3 views
0

imagebuttons inq qui a créé dans l'exécution de base de données et je dois les ajouter onclick ou événement mouseover mais j'échouaiscomment ajouter onclick ou d'un événement mouseover à ImageButton dans l'exécution

imagebutton.click += new ImageClickEventHandler(imageButton_Click); 

im ajoutant quand j'ai créé imagebuttons, ce que j'ai besoin d'autre

aussi j'ai essayé javascript mais son ne pas tirer aussi;

<script type="text/javascript"> 
function SetProductImage(imgID) { 
    document.getElementById('imgProduct').src=document.getElementById(imgID).src; 
} 
</script> 

imgProductImage.Attributes["onclick"] = "javascript:SetProductImage('" + imgProductImage.ID + "')"; 

merci ...

+1

Cela dépend un peu où dans votre code vous créez le bouton et vous reliez l'événement. Pouvez-vous fournir un code plus pertinent? –

+0

sur pageload je crée le bouton et l'événement mais je ne peux pas déclencher l'événement –

+0

@thiefmaster il ne fonctionne pas après avoir enlevé javascript: –

Répondre

0

De votre commentaire, je suppose que vous faites quelque chose comme:

void Page_Load(object s, EventArgs e) 
{ 
    ImageButton img = new ImageButton(); 
    img.click += new ImageClickEventHandler(imageButton_Click); 
    Controls.Add(img); 
} 

Cela ne fonctionnera pas parce que le mécanisme de publication automatique envoie le nom du contrôle retour dans le champ EventTarget et la cible n'est pas spécifiée, donc elle ne sait pas où la gérer.

Pour que cela fonctionne correctement, j'emballe généralement l'affichage dans un contrôle utilisateur personnalisé et remplace la méthode CreateChildControls(). Cela garantit que le contrôle est créé au moment correct et est disponible lorsque la gestion de publication est effectuée.

+0

merci beaucoup David enfin ... im in: D –

+0

mais il y a un problème ... je peux obtenir dans l'événement mais je ne peux pas changer imageurl d'image pourquoi est-ce ... et comment pouvez le réparer .... –

0

Etes-vous en train de déclencher un code derrière un événement? ou un événement javascript? Si vous essayez d'ajouter un événement javascript à votre élément, vous devez Ajouter l'attribut. Il n'est pas actuellement là quand vous utilisez: Attributes ["onclick"]. Donc ce serait comme:

imgProductImage.Attributes.Add("onclick","SetProductImage('" + imgProductImage.ID + "')"); 
+0

j'ai essayé rien ne se produit, je veux dire, il n'atteint pas le javascript bloc –

0

Ok. Je pense que j'ai découvert ce que vous essayez d'accomplir. Vous devez définir explicitement l'ID du contrôle dans Page_Load:

ImageButton img = new ImageButton(); 
img.ID = "image1"; 
img.ImageUrl = "YOUR_IMAGE_URL"; 
img.OnClientClick = "SetProductImage('" + img.ID + "');return false;"; 
Controls.Add(img); 

Assurez-vous si vous devez définir plusieurs buttones d'image, Définissez un ID unique pour chacun d'eux.

Questions connexes