c# - 在类里面使用 session

标签 c# asp.net

我有使用 session 变量的代码;它既存在于母版页代码中,也存在于某些 aspx 文件的代码中。我想将这段代码放在不同文件中的一个函数中,但是当我这样做时,语句 Session["VariableName"] 在单词 session 上变成了红色下划线。我错过了什么?

谢谢。

最佳答案

页面中的

SessionSystem.Web.UI.Page.Session。由于您的页面派生自 Page 类,因此您可以无限制地引用它。

您的类可能不是从 Page 派生的。

在您的类(class)中,请改用 HttpContext.Current.Session


Bryan 提出了一个很好的观点。通常,您的类代码可能不会在请求的上下文中被调用。始终先检查:

if (HttpContext.Current != null)
{
    if (HttpContext.Current.Session != null)
    {
        object cell = HttpContext.Current.Session["variable"];
        if (cell != null)
        {
            return (int) cell; // Or whatever
        }
    }
}

关于c# - 在类里面使用 session ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4855294/

相关文章:

c# - 列表的 XML 序列化变得太大

c# - DataTemplates 和通用类型

c# - 如何运行 DropDownList 更改事件

asp.net - 如何在 Linux/Mac 中部署 ASP.NET 5/.NET Core?

c# - 如何使用 SMTP 发送安全电子邮件

c# - 如何获取所有具有属性的类?

c# - oo-spaghettio 网络架构

asp.net - 通过 GET 的 Mvc Web API 复杂对象查询

c# - jqGrid - 如何根据*初始*列值设置自定义编辑选项?

c# - 上下文菜单 - 我如何知道哪个控件激活了它