2010-10-07 64 views
0

请裸露在我身边,我很新的asp.net。索引超出范围异常时,存储到asp.net会话

我正在构建一个Web应用程序来构建一个报告,但有太多的参数给每个人的名字,我想保存他们索引的数字,所以我可以处理它们循环以后遍及整个应用。

但是,我得到的第一个会话项目(0)的索引超出范围......据我了解,我不必自己实例化会话,这应该工作正确吗?

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

等...

回答

2

Session的对象是字符串的字典;你应该用字符串键存储对象。

写入Session[0]将获取或设置会话状态中的第一项。
由于会话状态开始为空,它会引发异常。

相反,你应该使用字符串,像这样:

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

您也可以拨打Add method

0

了解更多关于Asp.net Session对象以及如何与信息here

+0

这是VS2003来填补它。你应该找到一个更新的链接。 – SLaks 2010-10-07 13:34:44

+0

仍然以同样的方式工作。您可以使用Add方法并使用“键”,“值”对... – Younes 2010-10-07 13:37:40