2016-06-27 21 views
0

我遇到了会话变量问题。我将对象添加到会话中,以便当我导航到下一页(构建一种调查问卷)时,我可以在另一个Controller动作中检索这些值,并使用存储的值进行一些计算。为什么我的会话变量丢失

这也是说,此功能用于用户通过问卷倒退,如果他们希望改变的投入,得到不同的结果。然而,在倒退时,变量消失了,我的控制器操作代码失败并返回空引用异常。

为什么这是这样做有什么想法?我使用下面的方法添加变量到会话:

Session["UserInfo"] = myObject; 

和检索像这样

InputData data = (InputData) Session["UserInfo"]; 

为什么我失去了这些对象的任何原因。如果我返回并再次单击提交,它们将返回会话并在以下页面可用。我不认为这是一个会话超时问题,因为我做的20分钟内很好,平时喜欢30secs(因为我开发系统和测试和更改等)

+0

您是否尝试过[这](http://stackoverflow.com/a/6305647/181087)? – NightOwl888

回答

0

我已经解决了这个,我的问题是我的动作控制器上的GET和POST请求。我没有明确地指定两个控制器动作(HTTPGET和HTTPPOST),所以所有请求都进行了相同的动作,因此作为ajax获取请求,因此将会话变量替换为NULL,因为没有任何内容被发布。

设置了两个操作结果HTTP POST和HTTP GET一个与输入参数,另一种没有。从来没有想过,直到喝了一杯咖啡和一个新鲜的大脑。