c# - 为什么session返回null?

标签 c# asp.net session

我无法写入 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/

相关文章:

c# - C# 媒体基础

c# - 动态表 : Link button to textbox cell by cell

java - Hibernate session 问题

javascript - 如何记住表单提交时的切换状态 - 在 session 变量中显示/隐藏

c# - 在 .NET 中使用 S3 存储

c# - .NET 核心的异步请求

c# - TFS 2015 SDK 缺少 Microsoft.WITDataStore64.dll

asp.net - Css 文件在 jquery 脚本中没有被正确读取

c# - Swagger UI 隐藏 AspNetCore.Mvc.ProblemDetails 架构 .net 5 和 6

node.js - Redis报错: Error: Redis connection to 127. 0.0.1 :6379 failed - connect ECONNREFUSED 127. 0.0.1:6379