日期:2014-05-20  浏览次数:20525 次

asp.net中ajax不能即时获取session
index.aspx和ajaxserver.aspx处在同一应用中
index.aspx登录时赋值Session[ "CRM_ID "]
在index.aspx用xmlHttpRequest对象直接发送请求到ajaxserver.aspx,没有用ajax.dll。
服务器端ajaxserver.aspx.cs的Page_Load中代码如下:
if(Session[ "CRM_ID "]   !=   nul)
{
        Response.Write(Session[ "CRM_ID "].ToString());
}
else
{
          Response.Write( "-1 ");
}

为什么首页登录之后,ajax获取的ResponseText是-1。当我手动在浏览器中访问一下ajaxserver.aspx之后再用ajax访问就能获取Session[ "CRM_ID "]的值了?
急~~~


------解决方案--------------------
你的index.aspx是什么时间发送的请求,发送请求时是否已经对Session进行了赋值?
如果你在登录按钮的后台赋值,而在客户端的click中请求ajaxserver.aspx,则Session还没有赋值就请求了,会出现你说的情况。