我无法写入 session 变量。
这是我的源代码:
public class CurrentUser
{
public static string UserName
{
get
{
if (HttpContext.Current.Session["UserName"] != null)
return (string)HttpContext.Current.Session["UserName"];
else
return null;
}
set
{
HttpContext.Current.Session["UserName"] = value;
}
}
}
我称这个类为写:
public class SQLGetData
{
public UserDC LogIn()
{
UserDC userDC = new UserDC();
CurrentUser.Id = 1;
CurrentUser.UserName = "Admin";
userDC.id = 1;
userDC.UserName = "Admin";
return userDC;
}
}
当我想调用(MasterPage.aspx)时:
Label1.Text = CurrentUser.Id + CurrentUser.UserName;
结果:CurrentUser.Id 为1,CurrentUser.UserName 为NULL。
为什么 CurrentUser.UserName 为 NULL? 如何修改这个公共(public)字符串 UserName 来写入?
最佳答案
根据您分享的代码,我们无法真正帮助您,因为我们只能尝试猜测发生了什么。
我假设您的 CurrentUser 类有一个 Id 属性,其代码与 Username 类似。 Id 属性按预期工作但不是用户名...这听起来很奇怪。
你能分享你类(class)的完整代码吗?或者至少是 Id 属性的代码?
这也有助于了解您从何处调用 SQLGetData 类。身份验证如何工作?
关于c# - 为什么session返回null?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10774544/