IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

ASP.NET Discussion :

[C#] Création dynamique d'un élément HTML et Event


Sujet :

ASP.NET

  1. #1
    Membre du Club
    Inscrit en
    Juillet 2004
    Messages
    71
    Détails du profil
    Informations forums :
    Inscription : Juillet 2004
    Messages : 71
    Points : 46
    Points
    46
    Par défaut [C#] Création dynamique d'un élément HTML et Event
    Bonjour,

    dans mon application je crée dynamiquement un bouton comme cela :

    HtmlGenericControl dbutton = new HtmlGenericControl("INPUT");

    Le bouton s'affiche correctement. Mais j'ai besoin qu'il soit runat=server donc j'ai ajouté l'attribut suivant :

    dbutton.Attributes["runat"] = "server";

    C'est toujours ok pour l'affichage. Maintenant j'aimerai quand je clique sur ce bouton déclencher une fonction dans mon code-behind, mais le lien n'est pas fait entre mon bouton et la fonction, comment puis-je faire au niveau de la synthaxe, car je cale.

    D'avance merci.

  2. #2
    Membre régulier Avatar de Pasiphae
    Inscrit en
    Octobre 2003
    Messages
    110
    Détails du profil
    Informations forums :
    Inscription : Octobre 2003
    Messages : 110
    Points : 104
    Points
    104
    Par défaut
    Salut !

    Pourquoi passer par un bouton html, pourquoi ne pas utiliser un webcontrol button (qui s'execute coté server sans avoir à modifier les attributs) : Button monBouton = new Button();

    Pour revenir à la question initiale, il faut que tu créés un délégué qui fasse le lien :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    this.monBouton.Click += new System.EventHandler(this.monBouton_Click);
    où "monBouton_Click" est le nom de la fonction déclenchée lors de l evenement "Click" sur le controle "monBouton".

    Bon courage pour la suite. :o

  3. #3
    Membre du Club
    Inscrit en
    Juillet 2004
    Messages
    71
    Détails du profil
    Informations forums :
    Inscription : Juillet 2004
    Messages : 71
    Points : 46
    Points
    46
    Par défaut
    Citation Envoyé par Pasiphae
    Salut !

    Pourquoi passer par un bouton html, pourquoi ne pas utiliser un webcontrol button (qui s'execute coté server sans avoir à modifier les attributs) : Button monBouton = new Button();
    Bien sûr, c'est la bonne réponse, merci à toi pour l'éclaircissement.

    Néanmoins, je viens d'écrire la chose suivante dans mon code (suite à ton conseil) :

    System.Web.UI.WebControls.Button Button1 = new Button();
    Button1.Text = "Modifier";
    Button1.Click += new System.EventHandler(this.Button1_ServerClick);

    Le bouton s'affiche bien, mais quand je clique dessus il n'entre pas dans ma fonction Button1_ServerClick. J'ai oublié quelque chose ?

  4. #4
    Membre régulier Avatar de Pasiphae
    Inscrit en
    Octobre 2003
    Messages
    110
    Détails du profil
    Informations forums :
    Inscription : Octobre 2003
    Messages : 110
    Points : 104
    Points
    104
    Par défaut
    Normalement, lorsque tu rajoutes un controle manuellement dans une page aspx, dans le codebehind, dans le private void InitializeComponent(), il rajoute le délégué correspondant et créé la fonction rattachée. La procédure InitializeComponent est appelée par "protected void OnInit()" (c est du code automatique).

    Peut etre que ton souci est lié aux ordres des événements, essaie de crééer ton bouton dans le Page_PreRender ou Page_Init, voir si cela changerait quelque chose.
    Après, si c est pas ca, je ne vois pas trop...

  5. #5
    Membre du Club
    Inscrit en
    Juillet 2004
    Messages
    71
    Détails du profil
    Informations forums :
    Inscription : Juillet 2004
    Messages : 71
    Points : 46
    Points
    46
    Par défaut
    Je viens de refaire un test, c'est dans le Page_Load que l'évènement est à nouveau associé, donc c'est bon

    Merci pour ton aide.

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. [FAQ] Allocation dynamique d'un événement à un élement. Paramètres this et event.
    Par Auteur dans le forum Contributions JavaScript / AJAX
    Réponses: 5
    Dernier message: 02/12/2013, 20h46
  2. création dynamique d'un textbox dans un tableau html
    Par zer_hich dans le forum ASP.NET
    Réponses: 2
    Dernier message: 20/04/2010, 12h43
  3. variables dynamiques de smarty entre les balises de HTML
    Par hassna.kaibous dans le forum Autres langages pour le Web
    Réponses: 1
    Dernier message: 01/07/2008, 11h33
  4. comment choisir dynamiquement un fichier *.js externe à une feuille html
    Par j.p.mignot dans le forum Général JavaScript
    Réponses: 3
    Dernier message: 17/01/2008, 09h51
  5. [WebForms]Comment générer dynamiquement tout ou partie d'une page html
    Par skywaukers dans le forum Général Dotnet
    Réponses: 4
    Dernier message: 02/01/2007, 12h42

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo