Bonjour à tous,
Dans le cadre d'un projet, je voudrais récupérer la valeur d'un champ caché (type hidden) présent dans une webpart.
Ce champ est défini et ajouté au HTMLWriter dans la méthode render, sa valeur est modifiée par du javascript (je suis obligé d'utilisé du code client-side pour des raisons de performances) selon que des checkbox sont cochées ou non. Le seul postback doit se faire au clic sur un bouton "search". Pour éviter d'avoir à recharger la page, je fais le traitement dans la méthode OnUnload de la webpart.
Jusqu'ici, tout se passe bien, le this.FindControl récupère bien mon champ hidden, par contre celui ci a systématiquement pour valeur "" !!! Or, en mettant des alertes dans mon code javascript, j'ai bien vérifié que la valeur était mise à jour sans problème, le souci vient donc de la récupération de cette valeur via le code C#...
Le code en question :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9 protected override void OnUnload(EventArgs e) { ... SearchChoices choices = new SearchChoices(); string platforms = ((HtmlInputHidden)(this.FindControl("hfcbPlatform"))).Value; // Le contrôle est bien retrouvé, mais value = "" ! base.OnUnload(e); ... }A noter que le viewstate est à true lors du debug.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10 protected override void Render(HtmlTextWriter writer) { ... HtmlInputHidden hiddenField = new HtmlInputHidden(); hiddenField.ID = "hfcbPlatform"; hiddenField.RenderControl(writer); this.Controls.Add(hiddenField); // utile??? ... }
Quelqu'un aurait-il une idée à me soumettre? Merci d'avance!!!!!
Partager