首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >如何在静态方法中获取会话变量的值?

如何在静态方法中获取会话变量的值?
EN

Stack Overflow用户
提问于 2010-04-05 14:24:38
回答 4查看 91.5K关注 0票数 63

我正在jQuery中使用ASP.NET页面方法...如何在C#的静态方法中获取会话变量的值?

代码语言:javascript
复制
protected void Page_Load(object sender, EventArgs e)
{
    Session["UserName"] = "Pandiya";
}

[WebMethod]
public static string GetName()
{
    string s = Session["UserName"].ToString();
    return s;
}

当我编译这段代码时,我得到了这个错误:

对于非静态字段、方法或属性'System.Web.UI.Page.Session.get'`,需要

对象引用

EN

回答 4

Stack Overflow用户

回答已采纳

发布于 2010-04-05 14:26:59

HttpContext.Current.Session["..."]

HttpContext.Current带给你最新的.好的,Http上下文;您可以从其中访问:会话、请求、响应等

票数 106
EN

Stack Overflow用户

发布于 2010-04-05 14:36:32

如果您没有更改线程,则可以使用HttpContext.Current.Session,如jwwishart所示。

HttpContext.Current返回与线程关联的上下文。显然,这意味着你不能使用它,例如,如果你已经启动了一个新线程。您可能还需要考虑线程敏捷性-对于整个请求,ASP.NET请求并不总是在同一个线程上执行。我认为上下文被适当地传播了,但这是需要牢记的。

票数 20
EN

Stack Overflow用户

发布于 2016-06-12 00:00:18

试试这个:

代码语言:javascript
复制
HttpContext.Current.Session["UserName"].ToString();
票数 4
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/2577183

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档