上网查了很多资料,貌似都不是我这个案例,无法解决这个问题,如图:
后台代码如下: try
                        {
                            SqlDataReader dr = cmd.ExecuteReader(CommandBehavior.SingleRow);
                            if (dr.Read())
                            {
                                _logonUserEmail = arg.loginUseremail;
                                string tmp2 = dr[0].ToString();
                                if (HttpContext.Current.Session["user"]!=null)
                                    HttpContext.Current.Session["user"] = tmp2;
                                return 1;
                            }
                            else
                            {
                                return -1;
                            }
                        }下面是webconfig里面的session的设置:    <globalization fileEncoding='gb2312' requestEncoding='gb2312' responseEncoding='gb2312' />
    <sessionState 
      mode="InProc" 
      stateConnectionString="tcpip=127.0.0.1:42424" 
      sqlConnectionString="data source=127.0.0.1;Trusted_Connection=yes" 
      cookieless="false" 
      timeout="20"  
    />

解决方案 »

  1.   

     你是在一般处理程序里面用么?如果在后台用,不用你那么麻烦那样写。直接写session就可以出来的!
      如果是第一种情况。就是得继承一个对象。如果在后台那样判断应该是没问题的!你别那样写,或者你引用过来测试下!
      

  2.   

    显示的是:Object reference not set to an instance of an object.
      

  3.   

    嗯,我把所有东西都独立写在另外一个cs里面了,不是对应的aspx的后台。我是新手,不太明白怎么是“引过来”话说这种写法是不是不好?本来想统一管理代码才这么做的
      

  4.   

    晕,。没看你下面web.config 里的设置  <sessionState mode="InProc" stateConnectionString="tcpip=127.0.0.1:42424" sqlConnectionString="data source=127.0.0.1;Trusted_Connection=yes" cookieless="false" timeout="120"/> 这样设置下!测试下!
      

  5.   

    你继承system.web.ui.page 这个就可以了! 或者,你传入相对应的page来获取session
      

  6.   

    嗯,我看网上说的都是只需加一句:if(seesion["xxx"]!=null)就好。但是我这么做也不行
      

  7.   

    给你代码,刚测试过了,正常! 你可以模仿。写在你的.cs下面我在app_code里面写的类
    如下:using System;
    using System.Collections.Generic;
    using System.Linq;
    using System.Web;/// <summary>
    ///SessionState 的摘要说明
    /// </summary>
    public class SessionState
    {
    public SessionState()
    {
    //
    //TODO: 在此处添加构造函数逻辑
    //
    }
        public string SessionStates(System.Web.UI.Page pages)
        {
            return pages.Session["User"].ToString();
        }
    }页面传过去的值,然后输出返回的值
    using System;
    using System.Collections.Generic;
    using System.Linq;
    using System.Web;
    using System.Web.UI;
    using System.Web.UI.WebControls;public partial class Default2 : System.Web.UI.Page
    {
        protected void Page_Load(object sender, EventArgs e)
        {
            SessionState st = new SessionState();
            Session["User"] = "测试成功!";
            Response.Write(st.SessionStates(this.Page));
        }
    }自己看看把!