在线等,在类中给Session赋值出错。
描述如下,在Default.aspx页面里有个<input button>登录控件,点击该控件,通过Ajax调用服务器端的类中的一个Login方法,定义如下。
public bool Login(string pUserName, string pPassword)
{
Demo.Model.Account accountInfo = null;
accountInfo = Demo.BLL.Account.Login(pUserName, pPassword);//accountInfo能取到值
if (accountInfo != null)
{
//HttpContext.Current.Session["ACCOUNT_KEY"] = accountInfo; 此语句无法给session赋值
return true;
}
else
{
return false;
}
}
请教,应该如何处理。
------解决方案--------------------
返回信息到页面操作或者把page传递过来看看或者让这个类继承page
------解决方案--------------------你用的是哪种Ajax? Asp.net自己提供的(Atlas)还是第三方组件?
第三方组件可能不支持读取上下文的东西,比如Session,Request等. 用Asp.net自带的就可以.
------解决方案--------------------
ajax.dll在使用session的时候最好加上
[Ajax.AjaxMethod(Ajax.HttpSessionStateRequirement.Read)]
------解决方案--------------------
C# code
[Ajax.AjaxMethod(Ajax.HttpSessionStateRequirement.ReadWrite)]
public void SetSession(string sValue)
{
Session[ "s "] = sValue;
}