Bonjour,
J'ai une WebForm avec un User Control dans lequel on va afficher dynamiquement via un repeater un ticket de "lotofoot".
+ Il y a donc 3 choix (1N2) représentés par des images (html control) par match et à chaque clique il faut stocker le choix selectionné. Pour ma part chaque match a un HiddenField (controle ASP.NET) et chaque choix est stocké dans ce hiddenfield grace à une fonction javascript exécutée dès qu'on clique sur l'image.
+ Ensuite, quand le joueur clique sur valider (asp:Button), j'ai une boucle FOR qui cherche chaque HTML CONTROL de type Input Hidden grace à la méthode FindControl et en récupère la valeur pour en faire une chaine type "12N2111N".
Tout ceci pour éviter de faire trop de requetes postback si j'avais tout fait en controles ASP.NET (chaque clic signifie une modification du tableau de résultats donc à raison de 15 matchs, 15 requetes sans compter les modifications).
Le soucis est que je n'arrive pas à récupérer mes résultats car le FindControl ne trouve rien donc ca me retourne une instance nulle. D'où vient le soucis ?
Merci à vous !
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24 public string CreateHidden(object index) { HiddenField hField = new HiddenField(); hField.ID = "M" + index.ToString(); pnlHidden.Controls.Add(hField); // j'ajoute le hidden dans un panel fait pour tous les stocker. return ""; } protected void btnValid_Click(object sender, EventArgs e) { string STR_CHOICES = ""; PronoCount = 4; Panel ctl = pnlHidden; HiddenField hField; for (int i = 1; i <= PronoCount; i++) { hField = (HiddenField)(ctl.FindControl("M1")); // M1 EXISTE !!! BIEN CREE VIA LA FONCTION D'AVANT ... STR_CHOICES += hField.Value; // Object reference not set to an instance of an object. } Literal1.Text = "=> " + STR_CHOICES; }
Partager