2010-10-07 9 views
0

S'il vous plaît nu avec moi, je suis très nouveau sur asp.net.Exception hors de l'index lors de l'enregistrement dans la session asp.net

Je crée une application Web pour créer un rapport, mais il y a trop d'arguments pour donner un nom à chacun, et je veux les enregistrer en les numérotant pour pouvoir les gérer plus tard avec des boucles. application.

Cependant, je reçois un index hors de portée sur le tout premier élément de session (0) ... si je comprends bien, je n'ai pas besoin d'instancier une session moi-même et cela devrait fonctionner correctement?

 Session[0] = txtComplianceCaseID.Text; 
     Session[1] = ddlState.SelectedValue; 
     Session[2] = txtActingSupervisor.Text; 
     Session[3] = ddlRiskTolerance.SelectedValue; 

etc ...

Répondre

2

L'objet Session est un dictionnaire de chaîne; vous devriez y stocker des objets avec des clés de chaîne.

L'écriture Session[0] obtiendra ou définira le premier élément dans l'état de session.
Étant donné que l'état de la session commence vide, il déclenche une exception.

Au lieu de cela, vous devez utiliser des chaînes, comme ceci:

Session["Compliance ID"] = txtComplianceCaseID.Text; 
Session["State"] = ddlState.SelectedValue; 
Session["Supervisor"] = txtActingSupervisor.Text; 
Session["Risk Tolerance"] = ddlRiskTolerance.SelectedValue; 

Vous pouvez également appeler le Add method.

0

En savoir plus sur Asp.net objet de session et comment le remplir avec des informations here

+0

C'est VS2003. Vous devriez trouver un lien plus récent. – SLaks

+0

fonctionne toujours de la même façon. Vous pouvez utiliser la méthode Add et travailler avec une paire « clé », « valeur » ... – Younes