我正在jQuery中使用ASP.NET页面方法...如何在C#的静态方法中获取会话变量的值?
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'`,需要
对象引用
发布于 2010-04-05 14:26:59
HttpContext.Current.Session["..."]
HttpContext.Current
带给你最新的.好的,Http上下文;您可以从其中访问:会话、请求、响应等
发布于 2010-04-05 14:36:32
如果您没有更改线程,则可以使用HttpContext.Current.Session
,如jwwishart所示。
HttpContext.Current
返回与线程关联的上下文。显然,这意味着你不能使用它,例如,如果你已经启动了一个新线程。您可能还需要考虑线程敏捷性-对于整个请求,ASP.NET请求并不总是在同一个线程上执行。我认为上下文被适当地传播了,但这是需要牢记的。
发布于 2016-06-12 00:00:18
试试这个:
HttpContext.Current.Session["UserName"].ToString();
https://stackoverflow.com/questions/2577183
复制相似问题