【问题标题】:I can't get a session's value and use it inside an if() statement我无法获取会话的值并在 if() 语句中使用它
【发布时间】:2014-01-16 18:15:55
【问题描述】:

我想在我的 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' 在当前上下文中不存在。” 我该如何解决?

【问题讨论】:

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


【解决方案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?

【讨论】:

  • 但现在它说:“名称 'HttpContext' 在当前上下文中不存在。” ||编辑:我应该在您建议之前添加 System.Web 。现在可以了。
  • 您需要引用整个命名空间。要么在顶部添加using System.Web,要么在顶部添加System.Web.HttpContext.Current.Session["username"]
猜你喜欢
  • 1970-01-01
  • 2020-07-30
  • 1970-01-01
  • 2017-12-04
  • 2016-11-21
  • 1970-01-01
  • 2016-02-27
  • 1970-01-01
  • 2016-11-09
相关资源
最近更新 更多