关于 ajax.dll的问题。我在cs中Page_Load是存储了一个Session 为Session["UserName"]="lijun";点击页面中一个按钮,然后通过下面的方法获取Session的值,一直取不到值Session["UserName"]为 NULL
[Ajax.AjaxMethod(Ajax.HttpSessionStateRequirement.ReadWrite)]
public string SelectUserInfo()
{
    if (Session["UserName"] != null)
    {
         string username=Session["UserName"].ToString();
    }
}
1. 这个问题在IE6上经常发生。。但又不是所有的机器都会出现这种状况(都是IE6)
2. IE8好像比较稳定点。。
3. 此页面是在iframe中的求助是啥原因啊??????????????????????

解决方案 »

  1.   

    string s= HttpContext.Current.Session["UserName"].ToString(); 
      

  2.   


    [Ajax.AjaxMethod(Ajax.HttpSessionStateRequirement.ReadWrite)]
    public string SelectUserInfo()
    {
      if (Session["UserName"] != null)
      {
      string username=Session["UserName"].ToString();
      }
    else
    {
    Session["UserName"]="再获取一次";
    }
    }
      

  3.   

    cookie也不行...基本可以确定是frame的问题..因为我把页面URL拷贝出来,在独立的IE中是可以的...
    怎么解决?
      

  4.   

    [Ajax.AjaxMethod(Ajax.HttpSessionStateRequirement.ReadWrite)]
            public string  readSession() {            string str = null;
                if(Session["User"]!=null){                str = Session["User"].ToString();
                }
                return str;
            }
      

  5.   

    试下延迟(等页面加载好了)获取,
    有时IFRAME加载页面会有延迟现象,