.net mvc 中session无法保存值的问题
碰到这么个情况,在一个控制器保存session,在另一个控制器获取不到值。代码如下:
public ActionResult SetCode() { string id = Session.SessionID; Session["mycode"] = "abc"; return View(); } public ActionResult GetCode() { string id = Session.SessionID; string code= Session["mycode"].ToString(); Response.Write(code); return View(); }
访问GetCode时,报错:“未将对象引用设置到对象的实例”!SessionID都一样,竟然获取不到值!经过小小折腾,终于找到解决方法。
解决方法有两种:
1.确保进行session保存动作的控制器有一个对应的视图页面。
2.修改进行session保存动作的控制器的返回值类型,例如改为没有返回值:
public void SetCode() { string id = Session.SessionID; Session["mycode"] = "abc"; }
完毕!