2010-09-18 9 views
2

Supposons que vous enregistriez des données dans un champ caché dynamique, créé dynamiquement lors de la gestion de certains événements de publication. Quel est le meilleur moyen de le récupérer dans ce champ lors d'une publication, (en plus de chercher la clé de ce champ caché, puis de récupérer la valeur correspondante comme dans le code ci-dessous)?champ caché dynamique après une publication

protected void Button2_Click(object sender, EventArgs e) 
{ 
    bool found = false; 
    for (int i=0; i<this.Request.Form.Keys.Count; i++) 
    { 
     string item = this.Request.Form.Keys[i]; 
     if (item=="Hidden1") 
     { 
      Literal6.Text = Request.Form.GetValues(i)[0]; 
      found = true; 
     } 
    } 

    if (found==false) 
    { 
     Literal6.Text = "Hidden1 is not found"; 
    } 

} 
+1

conseil: (trouvé == faux) peut être écrit comme (! trouvé) –

Répondre

2

vous pouvez faire comme ceci:

Literal6.Text = "Hidden1 is not found"; 
    if (Request.Form.HasKeys() && Request.Form.AllKeys.Contains("Hidden1")) 
    { 
     Literal6.Text = Request.Form.GetValues("Hidden1")[0]; 
    } 

mais vous pouvez également utiliser la méthode findControl. C'est-à-dire, si un élément a un identifiant enregistré ... oublié de le dire, puisque findcontrol prend l'ID de contrôle, et GetValues ​​détermine le contrôle par son nom. (ce qui n'est pas probable dans votre exemple;)

+0

très gentil, merci! – alex440

Questions connexes