我定义一个类如:abc.cs
在这个类里用多种方法。
1.
System.Web.HttpContext.Current.Session["abc"]="abc";
2.继承Page类
3.用HttpSessionState结果错误都是大家非常熟悉的那个错误:
System.NullReferenceException: 未将对象引用设置到对象的实例。

解决方案 »

  1.   

    取session的时候先判断是否为null
      

  2.   

    我定义一个类如:abc.cs
    在这个类里用多种方法。
    1.
    System.Web.HttpContext.Current.Session["abc"]="abc";
    2.继承Page类
    3.用HttpSessionState
    ========================================================
    可以肯定这几句话都没有错
    - -能说的详细点么
      

  3.   

    Session不能再cs里面赋值的。。在。Session的时候不是有嘛。。是获取他里面的值,而不能设置的
      

  4.   

    1.
    System.Web.HttpContext.Current.Session["abc"]="abc";==========这段代码在哪里执行的?
    只有页周期开始了,才有 HttpContext// check
    (System.Web.HttpContext.Current == null) // true or fasle ?
      

  5.   

    BringWindowToTop 
    VB声明 
    Declare Function BringWindowToTop Lib "user32" Alias "BringWindowToTop" (ByVal hwnd As Long) As Long 
    说明 
    将指定的窗口带至窗口列表顶部。倘若它部分或全部隐藏于其他窗口下面,则将隐藏的部分完全显示出来。该函数也对弹出式窗口、顶级窗口以及MDI子窗口产生作用 
    返回值 
    Long,非零表示成功,零表示失败。会设置GetLastError 
    参数表 
    参数 类型及说明 
    hwnd Long,欲带至顶部的那个窗口的句柄 
    注解 
    这个函数也许能随同子窗口使用。函数对一个特定的输入线程来说是“本地的”——换言之,倘若某窗口并非前台应用程序的一部分,那么一旦随同该窗口调用本函数,仍会将窗口带至它自己那个应用程序的窗口列表顶部。但是,不会同时使那个应用成为前台应用程序。这意味着在调用了本函数后,窗口仍会保持隐藏状态
     
      

  6.   

    System.Web.HttpContext.Current.Session["abc"]="abc";
    写在一个类里。就是abc.cs里
      

  7.   

    楼主还是先查查资源,搞清楚HttpContext里的对象在ASP.NET生存期的哪个部分生成和消亡吧
      

  8.   

    按楼主说的没有错误阿。
    session 没有想象得那么复杂。 无非赋值 取值 
    直接用
      

  9.   

    很简单就一个abc.cs类:
    abc.cs
    {
        然后 有这么一句:总之就是不对。
        System.Web.HttpContext.Current.Session["abc"]="abc";
    }
      

  10.   

    好像碰到过跟楼主一样的问题,在page_load里加上Session["abc"] = "";
    先赋一下值就好了
      

  11.   

    System.Web.HttpContext.Current.Session["abc"]="abc";上面这句肯定在一个方法里面,而在你调用session["abc"]之前,必须确保有某个页面的pageload或者pageinit事件中已经调用了那个方法,并且用户已经访问过了该页面才行
      

  12.   

    你可以给session赋值的语句和调用session的语句都加上断点,然后调试,看看这2个语句哪个先运行
      

  13.   

    须确保有某个页面的pageload或者pageinit事件中已经调用了那个方法,并且用户已经访问过了该页面才行
      

  14.   

    在解决问题之前,先来了解一下 PHP SESSION 的工作原理。在客户端(如浏览器)登录网站时,被访问的 PHP 页面可以使用 session_start() 打开 SESSION,这样就会产生客户端的唯一标识 SESSION ID(此 ID 可通过函数 session_id() 获取/设置)。SESSION ID 可以通过两种方式保留在客户端,使得请求不同的页面时,PHP 程序可以获知客户端的 SESSION ID;一种是将 SESSION ID 自动加入到 GET 的 URL 中,或者 POST 的表单中,默认情况下,变量名为 PHPSESSID;另一种是通过 COOKIE,将 SESSION ID 保存在 COOKIE 中,默认情况下,这个 COOKIE 的名字为 PHPSESSID。这里我们主要以 COOKIE 方式进行说明,因为应用比较广泛。 那么 SESSION 的数据保存在哪里呢?当然是在服务器端,但不是保存在内存中,而是保存在文件或数据库中。默认情况下,php.ini 中设置的 SESSION 保存方式是 files(session.save_handler = files),即使用读写文件的方式保存 SESSION 数据,而 SESSION 文件保存的目录由 session.save_path 指定,文件名以 sess_ 为前缀,后跟 SESSION ID,如:sess_c72665af28a8b14c0fe11afe3b59b51b。文件中的数据即是序列化之后的 SESSION 数据了。如果访问量大,可能产生的 SESSION 文件会比较多,这时可以设置分级目录进行 SESSION 文件的保存,效率会提高很多,设置方法为:session.save_path="N;/save_path",N 为分级的级数,save_path 为开始目录。当写入 SESSION 数据的时候,PHP 会获取到客户端的 SESSION_ID,然后根据这个 SESSION ID 到指定的 SESSION 文件保存目录中找到相应的 SESSION 文件,不存在则创建之,最后将数据序列化之后写入文件。读取 SESSION 数据是也是类似的操作流程,对读出来的数据需要进行解序列化,生成相应的 SESSION 变量。
      

  15.   

    须确保有某个页面的pageload或者pageinit事件中已经调用了那个方法,并且用户已经访问过了该页面才行可以在page_Load直接
    if(Session["abc"] != null)
    {
       
    }
      

  16.   

    你还是贴出来完整一点的代码吧,如果你是System.Web.HttpContext.Current.Session["abc"]="abc";这一句出错,那可能是System.Web.HttpContext.Current.Session为空
      

  17.   

    在我的测试根本这句System.Web.HttpContext.Current.Session["abc"]="abc";
    在我定义的类里就不能用。
      

  18.   

    参数为空的错误,设个断点看看那个对象没有初始化或者被null掉了
      

  19.   

    你的代码是不是差不多这样abc.cspublic class abc
    {
        public abc(){
           System.Web.HttpContext.Current.Session["abc"]="abc";
        }
    }public class myPage:Page
    {
        ————————————
        private abc aaa =new abc();
        ————————————
        private void Page_Load()
        {
            ------------
        }
        --------------------
    }
      

  20.   

    Session肯定是Page类实例化之后才有的,如果代码在Page实例化之前运行,Session肯定为空
      

  21.   


    --------------------
    很简单我写了一个验证登录的类。登录成功就写session
      

  22.   

    跟踪调试一下你的程序,看看你的Session的完整的初始化、调用的路径
      

  23.   

    我是赋值就出错了???
    Session不是拿来就可以用的吗?赋值语句里它是出现在等式左边的,怎么会出Null Point?
    应该是取Session的时候可能会出现Null Point吧?