在课堂中使用课程

fre*_*hie 1 c# asp.net

我有使用会话变量的代码; 它既在主页面代码中,也在一些aspx文件的代码中.我想把这段代码放在一个不同文件中的函数中但是当我这样做时,语句Session ["VariableName"]在单词session上以红色加下划线.我错过了什么?

谢谢.

Joh*_*ers 6

Session在一个页面是System.Web.UI.Page.Session.由于您的页面派生自Page类,因此您可以在没有限定条件的情况下引用它.

你的课可能不是来自Page.

在你的课堂上,请HttpContext.Current.Session改用.


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

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