Eventhandler (classic mais j'arrive pas à le corriger quand meme ;()

Fjohn666 Messages postés 6 Date d'inscription samedi 24 juillet 2004 Statut Membre Dernière intervention 2 novembre 2008 - 27 juil. 2008 à 10:59
Fjohn666 Messages postés 6 Date d'inscription samedi 24 juillet 2004 Statut Membre Dernière intervention 2 novembre 2008 - 27 juil. 2008 à 13:13
BOnjour à tous,

J'ai un problème d'eventhandler. Ca semble être un problème classique mais j'arrive pas a le resoudre malgrés mes recherches.

j'ai une classe formulaire et une fonction render_formulaire pour m'afficher le formulaire et une fonction bt_click a appeler quand on click sur un boutton .
class Formulaire{
//....
  public Panel renderFormulaire()
        {
            if (renderCache == null)
            {
                Panel FormPanel = new Panel();
               //...
                Button bt = new Button();
                bt.Text = "Valider";
                bt.Click += new EventHandler(bt_Click);
                FormPanel.Controls.Add(bt);
                renderCache = FormPanel;
                return FormPanel;
            }
            else return renderCache;
        }

   void bt_Click(object sender, EventArgs e)
        {
            Values = new Hashtable();
            foreach (MF_Control m in this.ListeControls)
            {
                m.get_ControlValue(ref Values);
            }
            foreach (DictionaryEntry d in Values.Keys)
            {
               
System.Web.HttpContext.Current.Response.Write(d.Key.ToString() + "
--> " + d.Value.ToString() + "
");
            }
        }
}

Mon
problème est qu'il ne rentre jamais dans cette fonction bt_click ...
alors que mon formulaire est bien recréé au chargement de ma page ...
est ce parceque ma fonction se trouve dans un objet formulaire ?

merci d'avance pour votre aide :)
A voir également:

1 réponse

Fjohn666 Messages postés 6 Date d'inscription samedi 24 juillet 2004 Statut Membre Dernière intervention 2 novembre 2008
27 juil. 2008 à 13:13
re,
il semblerai que mon problème vienne du fait que je stock mon objet boutton dans une variable afin de ne pas le recréer :
avec un exemple plus simple ca donne :

 protected void Page_Load(object sender, EventArgs e)    {
        if (!Page.IsPostBack)        {
            Button bt = new Button();
            bt.Text = "sdf";
            bt.Click += new EventHandler(bt_Click);
            Session["bt"] = bt;
            Page.Form.Controls.Add(bt);
        }
        else        {
            Page.Form.Controls.Add((Button) Session["bt"]);
        }
    }

    void bt_Click(object sender, EventArgs e)
    {        Response.Write("test");
    }

Mon bouton d'affiche bien mais l'evènement n'est pas déclancher ....
Une idée à me proposer pour regler ce problème ?
0
Rejoignez-nous