Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
1285 connectés 

  FORUM HardWare.fr
  Programmation
  C#/.NET managed

  [Résolu] [C#.Net] Problème de HiddenField.Value toujours vide

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

[Résolu] [C#.Net] Problème de HiddenField.Value toujours vide

n°1416136
Roodie
Posté le 30-07-2006 à 20:36:23  profilanswer
 

Bonzour à tous :)
 
J'ai un GridView qui contient des lignes contenant une textbox et un hiddenfield sensés contenir la même chose (mappé à la même propriété).

Code :
  1. <TemplateField>
  2.   <ItemTemplate>
  3.     <asp:TextBox ID="tbActive" Text='<%# Eval("active" ) %>' runat="server" />
  4.     <asp:HiddenField ID="hiddenActive" Value='<%# Eval("active" ) %>' runat="server" />


J'affiche le gridView à l'aide d'un datasource puis DataBind().
Ensuite je veux récupérer ligne par ligne ce que contient mon gridView. J'utilise donc la méthode FindControl().  
J'obtiens le bon Texte dans ma TextBox. Par contre, la Value de mon HiddenField est toujours la chaîne vide !!
Mon code ci-dessous est-il incorrect pour le HiddenField ?

Code :
  1. for (int i = 0; i < myGridView.Rows.Count; i++)
  2. {
  3.   HiddenField hiddenActive = myGridView.Rows[i].FindControl("hiddenActive" ) as HiddenField;
  4.   string active = hiddenActive.Value.ToString();  // toujours vide !!!
  5. }


D'autre part, je n'arrive pas à trouver des infos sur les symboles :
<%# ... %>
<%$ ... %>
<%@ ... %>
Si vous pouviez me dire où chercher, et comment ça s'appelle surtout :)
 
Merci de votre aide :)


Message édité par Roodie le 03-08-2006 à 20:11:03
mood
Publicité
Posté le 30-07-2006 à 20:36:23  profilanswer
 

n°1416139
moi23372
Posté le 30-07-2006 à 20:44:50  profilanswer
 

je n'ai jms utilisé le hiddenfield, cependant tu peux le remplacer par un textbox ou un label et placer la propriété visible à false
 
<TemplateField>  
   <ItemTemplate>    
      <asp:TextBox ID="tbWin" Text='<%# Eval("win" ) %>' runat="server" />    
      <asp:TextBox ID="hiddenActive" Visible="false" Value='<%# Eval("active" ) %>' runat="server" />

n°1416164
Roodie
Posté le 30-07-2006 à 22:07:41  profilanswer
 

Coucou moi233333222222
J'avais déjà essayé un TextBox à Visible="false". Seulement, à chaque fois que ma page se reloadait, la TextBox devenait visible :(
Ca me contraignait à remettre Visible="false" dans toutes mes méthodes :(
Mais si je n'y arrive pas avec le HiddenField, je serais bien obligé de passé par une TexTBox ou Label.  
 
Mon problème vient peut-être du Value='<%# Eval("active" ) %>'
Tu n'aurais pas des infos sur les symboles <%# ... %> <%$ ... %> <%@ ... %> ?
 
Merci bien à toi, et si qqn a une ptite idée :)
 
Edit : ah, j'ai dit une bêtise. Le Visible="false" se conserve bien :)


Message édité par Roodie le 30-07-2006 à 22:18:53
n°1417421
_Mose_
Lonesome coder
Posté le 01-08-2006 à 14:03:45  profilanswer
 

Question : à quel moment ton champ caché est vide ?
J'en ai utilisé plein et ça marche très bien, mais ça dépend dans quelle méthode tu lis sa valeur.

n°1417667
Roodie
Posté le 01-08-2006 à 19:01:25  profilanswer
 

Bin, mon HiddenField est caché tout le temps puisque c'est un HiddenField  :heink:  
Et j'essaie de lire sa valeur à la suite d'un click sur un bouton.  
Mais ce qui est bizarre, c'est que lorsque c'est une TextBox, TextBox.Text contient la bonne valeur alors que lorsque c'est un HiddenField, HiddenField.Value ne contient rien.  
Désolé si je n'arrive pas bien à m'expliquer... ;(
Merci bien quand même !

n°1417743
_Mose_
Lonesome coder
Posté le 01-08-2006 à 21:33:42  profilanswer
 

Roodie a écrit :

Bin, mon HiddenField est caché tout le temps puisque c'est un HiddenField  :heink:

??? Nan la question c'était à quel moment tu t'aperçois qu'il est vide. Lit bien chaque mot dans les post STP   :jap:  

Roodie a écrit :

Et j'essaie de lire sa valeur à la suite d'un click sur un bouton.  
Mais ce qui est bizarre, c'est que lorsque c'est une TextBox, TextBox.Text contient la bonne valeur alors que lorsque c'est un HiddenField, HiddenField.Value ne contient rien. Désolé si je n'arrive pas bien à m'expliquer... ;(
Merci bien quand même !

Je veux bien t'expliquer, mais va falloir répondre à la question en gras dans mon post précédent. Tu sais ce que c'est une méthode ?

n°1417754
Roodie
Posté le 01-08-2006 à 21:54:24  profilanswer
 

Oops lol.  
J'ai une page .aspx contenant un gridView bindé sur un datasource, lui-même mappé à une List<Object>.  
Ce gridView contient dans ses colonnes :  

Code :
  1. <asp:TextBox ID="tbActive" Text="<%# Eval("field_name" ) %> runat="server" />
  2. <asp:HiddenField ID="hiddenActive" Value="<%# Eval("field_name" ) %> runat="server" />


J'ai aussi plusieurs boutons dans ma page et à l'intérieur du gridView. Dans les méthodes qui catch le click sur ces boutons, je parcours mon gridView, ligne pas ligne, control par control de cette façon :  

Code :
  1. for (int i = 0; i < myGridView.Rows.Count; i++)
  2. {
  3.   HiddenField hiddenActive = myGridView.Rows[i].FindControl("hiddenActive" ) as HiddenField;
  4.   string hidden_active = hiddenActive.Value.ToString();  // toujours vide !!!
  5.   TextBox tbActive = myGridView.Rows[i].FindControl("tbActive" ) as TextBox;
  6.   string tb_active = tbActive.Value.ToString();  // valeur correcte
  7. }


Et bien dans le code précédent, hidden_active = "" alors que tb_active = "bonjour" (par exemple)
 
Eti clair ?
Merci bien et désolé pour mes explications floues :)

n°1418440
_Mose_
Lonesome coder
Posté le 02-08-2006 à 17:40:05  profilanswer
 

Vérifie que le ViewState est activé pour ton HiddenField (EnableViewState = true).
 
Si non, t'as trouvé la réponse. Il faut dans ce cas mettre la valeur à true:

Code :
  1. <asp:HiddenField ID="hiddenActive" Value=<%# Eval("field_name" ) %> runat="server" EnableViewState="true"/>


 
Si oui... là c'est plus chiant...
En passant il manque un " fermant dans ton code

n°1418565
Roodie
Posté le 02-08-2006 à 21:52:16  profilanswer
 

Oui, t'as trouvé !!!
Avec EnableViewState="true", ça marche !!!!!!!!
Mici bien :)


Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Programmation
  C#/.NET managed

  [Résolu] [C#.Net] Problème de HiddenField.Value toujours vide

 

Sujets relatifs
[Résolu][C#.Net] Datasource d'un gridView : s'update automatiquement ?probleme affichage sur http://nasjsk.free.fr
[Résolu] chaine.Contains un élément d'un tableau de chaine ?Problème de contenu d'une variable suite à requete AJAX.
[C#.Net] MaxLength pas supporté dans un fichier .skinProblème d'alignement
manipulation de std::vector problème de mémoire[Résolu] [C#.net] Sauvegarder un ficher par "FileUpload"
[RESOLU] Probleme Session 
Plus de sujets relatifs à : [Résolu] [C#.Net] Problème de HiddenField.Value toujours vide


Copyright © 1997-2022 Hardware.fr SARL (Signaler un contenu illicite / Données personnelles) / Groupe LDLC / Shop HFR