cs_Warwick
Messages postés81Date d'inscriptionvendredi 1 février 2002StatutMembreDernière intervention 8 octobre 2007
-
2 oct. 2007 à 23:54
cs_Warwick
Messages postés81Date d'inscriptionvendredi 1 février 2002StatutMembreDernière intervention 8 octobre 2007
-
8 oct. 2007 à 08:57
Bonsoir, voici un petit problème surement simple auquel je suis confronté.
Je dispose d'une page ou des boutons radios sont créés dynamiquement au sein d'un formulaire. La validation du formulaire se fait par l'évènement OnClick d'une ImageButton.
Tout fonctionne très bien. Quand je clique dessus, le résultat fourni est celui attendu.
Cependant en appuyant sur la touche entrée, je voudrais aussi provoquer la validation du formulaire. J'ai lu qu'un appui sur la touche entrée provoquait un postback. Dans mon code, je teste donc si je suis en postback et lance mes traitements.
Cependant dans le premier cas, je pouvais récupérer le nom du bouton radio activé. Lors du postback avec la touche entrée, je n'arrive pas à récupérer cette infomation. En fait, lors du postback je force l'appel à la fonction OnClick de l'imageButton, mais avec des EventArgs à null, d'ou la perte d'info je pense. Savez-vous s'il y a un moyen simple de récupérer cet info lors de l'appui sur la touche entrée ?
cs_Warwick
Messages postés81Date d'inscriptionvendredi 1 février 2002StatutMembreDernière intervention 8 octobre 2007 8 oct. 2007 à 08:57
Bon en fait c'est tout bête...
En regardant les liens en rapport avec mon sujet (merci pour cette fonctionnalité), je suis tombé sur un message de Cyril.
La solution, ajouter cela dans mon formulaire : defaultbutton="buttonxxx"
La validation de mon formulaire se faire via un ImageButton. Lors du clic sur celui-ci, j'appelle la fonction
demarrerRecherche_Click(object sender, ImageClickEventArgs e)
Dans celle-ci, je récupère le nom du bouton radio coché :
foreach (Object obj in this.criteresRecherche.Controls)
{
// Traitement que sur les objets radio
if (obj.GetType() == rb.GetType())
{
rb = (RadioButton)obj;
// Bouton radio coche
if (rb.Checked)
{
// Recuperation du nom de la table SQL de recherche
cheminSQL = this.RecupererTableCritere(rb.ID);
break;
}
}
}
Cela fonctionne bien quand on clic sur le bouton de validation du formulaire.
Maintenance, je voudrais aussi effectuer la même chose (validation du formulaire) lors de l'appui sur la touche Entrée. J'ai lu que l'appui sur la touche entrée provoquait un Postback.
J'ai donc écrit le code suivant dans Page_Load