2010-10-12 4 views
0

J'essaie de créer un contrôle personnalisé simple où il y a un bouton d'image sur le contrôle avec une étiquette. Le problème auquel je suis confronté est que le bouton image apparaît très bien avec les propriétés spécifiées. Mais en quelque sorte, quand je clique sur le bouton image, il ne génère pas l'événement de clic. la page est simplement rafraîchie.Événement ne se déclenchera pas dans le contrôle personnalisé

Peut-on me dire s'il vous plaît quelle est l'erreur ???

public override ControlCollection Controls 
{ 
    get 
    { 
     EnsureChildControls(); 
     return base.Controls; 
    } 
} 

protected override void RenderContents(HtmlTextWriter output) 
{ 
    //CreateChildControls(); 
    AssociateValuesWithProperties(); 

    ibFirst.RenderControl(output); 
    output.RenderEndTag(); 
} 

protected override void CreateChildControls() 
{ 
    Controls.Clear(); 

    // Set subcontrols behavior 
    //adding the event handlers to the image buttons 
    ibFirst.Click += new ImageClickEventHandler(ibFirst_Click); 
} 

private void AssociateValuesWithProperties() 
{ 
    ibFirst.ImageUrl = FirstImageSrcNormal; 
    ibFirst.AlternateText = FirstImageAltText; 
    ibFirst.ToolTip = FirstImageAltText; 
} 

protected void ibNext_Click(object sender, ImageClickEventArgs e) 
{ 
    this.CurrentPage++; 
} 

Merci.

Répondre

0

Ah !! J'ai trouvé la solution à mon problème.

Dans la fonction CreateChildControls(), nous devrions également ajouter les contrôles à la collection de contrôle. Une fois que je l'ai fait, le code a très bien fonctionné.

merci

Questions connexes