【发布时间】:2013-03-21 23:12:53
【问题描述】:
我有一个 c# .net Web 应用程序。我创建了会话变量,但是当我离开创建它们的页面后尝试读取它们时,我不能。
在第 1 页创建
Session["UserName"] = "WhatEver";
那我做
Response.Redirect("~/whatever.aspx");
并在新页面的Page_Load方法中尝试读取读取会话变量
string userName = Session["UserName"].ToString();
我收到Object reference not set to an instance of an object.
为什么我会收到这个错误,我可以做些什么来解决这个问题?
【问题讨论】:
-
试试这个 Response.Redirect("~/whatever.aspx",false);
-
检查您在 page2 或母版页上附加的 global.asax 或其他用户控件,您在哪里使用了“Session.Abandon”
-
此链接解释了为什么 response.redirect 会导致会话值丢失 - weblogs.asp.net/bleroy/archive/2004/08/03/…2800_or-do-it-right_2900.aspx
-
你确定包含
Session["UserName"] = "WhatEver";的代码是在page1中执行的吗? -
@Krishna,您的链接已损坏