我有使用 session 变量的代码;它既存在于母版页代码中,也存在于某些 aspx 文件的代码中。我想将这段代码放在不同文件中的一个函数中,但是当我这样做时,语句 Session["VariableName"] 在单词 session 上变成了红色下划线。我错过了什么?
谢谢。
最佳答案
页面中的
Session
是System.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/