好的,我有点卡在这个上。我认为我的问题在于页面的生命周期,但我不确定也不确定如何解决问题。
我有一个需要访问会话的静态方法。但是,此方法在 AJAX 调用过程中被调用。代码如下所示:
$(object).click(function() {
Library.Ajax.GetData(someParameter, function(results) {
//do call back code
});
});
网络方法:
[WebMethod]
public List<string> GetData(string parameter)
{
return new Library.Class().GetData(parameter);
}
C# 类:
public List<string> GetData(string parameter)
{
//working with parameter & stuff
CallStaticMethod();
//return things
}
静态方法:
public static CustomClass CallStaticMethod()
{
var data = HttpContext.Current.Session["variable"];
//do other things
}
在页面加载时,会话有数据。调用此静态方法时,页面尚未回发或重新加载。但是,在每个方法调用中放置一个断点表明 HttpContext.Current.Session 在它们被调用时为空。
在理解页面生命周期方面,我承认我很糟糕。谁能阐明这里发生了什么?我能做些什么来解决这个问题?