我无法获得会话的值并在if()语句中使用它

时间:2014-01-16 18:15:55

标签: c# asp.net session webforms app-code

我想检查ASP.NET网站(WebForms)中会话的值。 所以我试图做的是:

// This file called 'Encryptor.cs' and is located under the 'App_Code' folder.

using System;
using System.Data;
using System.Data.OleDb;
using System.Security.Cryptography;
using System.Text;

public static class Encryptor
{
    public static bool CheckLoginStatus()
    { 
        bool LoginStatus = false;

        if ((string)Session["username"] == null)
        { 
             LoginStatus = true;
        }

        return LoginStatus;
    }
}

我不断收到此消息:“当前上下文中不存在名称'Session'。” 我该如何解决?

1 个答案:

答案 0 :(得分:1)

您应该能够像这样访问Session变量:

string username = (string)System.Web.HttpContext.Current.Session["username"]; 

HttpContext驻留在System.Web命名空间中。您可以通过using System.Web引用名称空间,也可以在访问会话时使用完整名称空间。

如果您想扩展Session的实用性,并对变量进行强有力的输入,那么您可以选择使用此解决方案:How to access session variables from any class in ASP.NET?