Comment créer un gestionnaire onClick d'un bouton créé dynamiquement
Actuellement, je suis en train de faire un projet pour les élèves de l'auberge et j'ai maintenant de mettre en œuvre certaines stratégies de recherche sur les étudiants.Ici, j'ai créer un bouton dynamiquement lorsque l'utilisateur clique sur un autre bouton de serveur dans .page aspx et en conséquence, j'ai créer le gestionnaire d'événement onclick pour le nouvellement créé bouton. Le code-extrait de code que j'ai utilisé est:
protected void btnsearchByName_Click(object sender, EventArgs e)
{
TextBox tbsearchByName = new TextBox();
Button btnsearchName = new Button();
tbsearchByName.Width = 250;
tbsearchByName.ID = "tbsearchByName";
tbsearchByName.Text = "Enter the full name of a student";
btnsearchName.ID = "btnsearchName";
btnsearchName.Text = "Search";
btnsearchName.Click += new EventHandler(this.btnsearchName_Click);
pnlsearchStudents.Controls.Add(tbsearchByName);
pnlsearchStudents.Controls.Add(btnsearchName);
}
protected void btnsearchName_Click(object sender, EventArgs e)
{
lblsearch.Text = "btnsearchName_Click event fired in " + DateTime.Now.ToString();
}
Ici, le problème est nouvellement créé ce gestionnaire n'est pas me faire virer. Je suis passé par ce site et regardé plusieurs questions et réponses et également passé par la page de cycle de vie et ils disent tous que le bouton dynamique devrait être sur Init ou Pre_init, mais mon problème est que je dois le créer quand un bouton est cliqué, comment peut-il être possible?
Non, il n'est pas d'obtenir la publication @Saint
qu'avez-vous modifier sur ma question? Je ne trouve aucune amélioration?
Donc, fondamentalement, vous avez 2 solutions à votre problème, vous pouvez faire en sorte que la page est affiché sur chaque clic, ce qui n'est probablement pas la meilleure expérience utilisateur, mais plus facile à corriger, ou vous pouvez mettre en œuvre une solution d'activer javascript qui serait plus de travail, mais vous auriez un meilleur produit. Qui voulez-vous ?
OriginalL'auteur Jivan | 2012-08-10
Vous devez vous connecter pour publier un commentaire.
Vous avez besoin pour ajouter le gestionnaire d'événements click pour le bouton sur chaque publication.
vous pouvez regarder pour le bouton dans la recherche des étudiants du panneau de chargement de page ou d'essayer de la page méthode OnInit() pour ajouter le gestionnaire lors de sa création.
Également vérifier ici:
Ajouté dynamiquement ASP.NET cliquez sur le bouton gestionnaire être ignoré
et ici:
asp.net dynamiquement bouton avec le gestionnaire d'événements
et ici:
asp:l'événement Clic du Bouton pas de feu
(qui donnent des suggestions similaires)
Salut, oui, vous pouvez essayer la méthode OnInit de la page que vous utilisez, vous pouvez essayer de trouver le contrôle dans la méthode oninit et ajouter le gestionnaire de là. Une autre chose que vous pouvez essayer est d'avoir le bouton dans le concepteur, mais avec style="display:none" ou visible=false de cette façon, il ne serait pas rendu, mais vous pouvez toujours ajouter le gestionnaire sans avoir à trouver le contrôle (depeing si son dans une grille ou tout simplement sur la page, etc)
OriginalL'auteur WraithNath
Essayer cette http://msdn.microsoft.com/ru-ru/library/system.web.ui.webcontrols.button.command(v=vs. 90).aspx
btnsearchName.CommandName = "Click";
OriginalL'auteur Rroman
Vous devez recréer le bouton et joindre le gestionnaire d'événement à chaque fois. Pour cela, créez une liste de bouton et de les enregistrer sur session. Au chargement de la page, allez dans la Liste et de créer le bouton à chaque fois
Ce n'est pas le plein code du travail. Évidemment il y a des choses que j'ai manqué(Comme je n'ai jamais créé une instance de Listes de garder le bouton enfoncé et des zones de texte). C'était juste un pointeur dans la direction de comment le faire.
OriginalL'auteur Anand
Je ne suis pas sûr, mais peut-être que vous devez remplacer la méthode OnInit() comme ceci.
OriginalL'auteur Waqar Janjua
Vous suffit d'ajouter ce code sur l'état prêt de jquery code et il fonctionne parfaitement pour le bouton dynamique trop
OriginalL'auteur Gurria