c# - 将 session 变量值与字符串进行比较

标签 c# asp.net session-variables

我正在将 session 变量与字符串进行比较,以检查登录类型是否为管理员。

我正在使用的代码:

if (Session["loggedInUsername"] == null)
        {
            btnLogin.Text = "Sign In";
            lblWelcome.Text = "Welcome!";
            hypManageRestaurants.Enabled = false;
            hypManageReviews.Enabled = false;
            hypPostReviews.Enabled = false;

        }
        else
        {
            if (Session["loggedInUserType"] == "Administrator")
            {
                hypManageRestaurants.Enabled = true;
                hypManageReviews.Enabled = true;
                hypPostReviews.Enabled = true;
            }
            else
            {
                hypManageRestaurants.Enabled = false;
                hypManageReviews.Enabled = false;
                hypPostReviews.Enabled = true;
            }
            lblWelcome.Text = "Welcome " + Session["loggedInUsername"];

            btnLogin.Text = "Sign Out";
        }

所以首先我要检查是否有用户登录。如果用户成功登录, session 变量“loggedInUsername”将具有用户名的值。如果“loggedInUsername” session 变量不为空,它将检查“loggedInUserType” session 变量以了解登录用户的类型。

奇怪的事情来了,“loggedInUserType”的值恰好是“Administrator”而没有“”,在我比较 session 变量和字符串“Administrator”的if函数中被跳过并转到否则。

所有 session 变量都在用户登录时获取值。

下面是我用来登录的数据,这条记录是唯一一条类型为“管理员”的记录。

link to image

是否有任何其他方法可以将 session 变量与字符串进行比较

最佳答案

将对象类型值转换为字符串

((string)Session["loggedInUserType"]) == "Administrator"

关于c# - 将 session 变量值与字符串进行比较,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10686953/

相关文章:

c# - 如何在 WebForms 项目中启用 MVC?

php - 重新创建对象或将其存储在 session 变量中是否更快?

mysql - Codeigniter session 值访问

c# - 为什么 DataContractSerializer 会生成一个名称为 : "z:anytype"? 的节点

c# - 从 Windows .NET 服务器 ADO.NET 连接到运行 MySQL 的 Linux 服务器?

c# - ASP.NET 5 Web API 项目模板不允许使用 Entity Framework

php - 谷歌应用程序引擎(php)的 session 变量错误

c# - 是否可以确定字体的字符集?

c# - 如果 Excel 列在 asp.net c# 中具有某些值,则提示消息

c# - 获取在 gridview 中使用的日期选择器的值