你要确保 image.aspx 页面在 login.aspx 页的 Page_Load 事件前面执行。

解决方案 »

  1.   

    System.Web.HttpContext.Current.Session["VNum"].ToString();
      

  2.   

    因为image.aspx是生成图形方式,在login.aspx里采用img src方式调用,若把 this.Label1.Text=Session["VNum"].ToString();
    删掉显示正常。那我该怎么办才能让加入login.aspx里的image.aspx先执行呢?
      

  3.   

    this.Label1.Text=Session["VNum"].ToString();这句不对,如果没有Session的话就会出现这样的错误.应该先判断if( Session["VNum"] == null )如果有Session的话才可以使用ToString()的
      

  4.   

    net_lover给的方式也不行,也同样提示"未将对象引用设置到对象的实例。 "我想问题应该是在于调用的过程,但不知道怎么改进才行。
      

  5.   

    使用 Convert.ToString(Session["VNum"]) 试试。
      

  6.   

    fengliudai你这方式也不行,这方法我试过了,我并非要的是判断Session的值是否为空,image.aspx肯定能生成一个Session值,可在login.aspx里的load事件里没法调用到。
      

  7.   

    exboy的方法也不行。使用 Convert.ToString(Session["VNum"]) 我早用过了,还是搞不定。
      

  8.   

    把 login.aspx 页面的跟踪打开,看有没有 Session["VNum"] 这个变量。如果没有,可能是设置有问题了。
      

  9.   

    跟踪了login.aspx,没有Session["VNum"]值,那该在什么地方设置呢?
      

  10.   

    打开了跟踪后,下面会多好很多内容,你慢慢找一下,如果没有找到,就说明没有 Session["VNum"] 这个变量
      

  11.   

    没有Session["VNum"]这个变量,那要怎么样才能在login.aspx初始化页面之前调用image.aspx呢??????????
      

  12.   

    你可以试一下在 login.aspx 页面生成一个随机数,然后保存在 Session["VNum"] 里,然后在 login.aspx 页面看可不可以读取这个变量。
      

  13.   

    那当然可以!主要是两个文件是分开的,一个负责生成图片,若把生成图片的aspx并到login里去这不是什么好方法.并且那是治标不治本的办法
      

  14.   

    “那当然可以!主要是两个文件是分开的,一个负责生成图片,若把生成图片的aspx并到login里去这不是什么好方法.并且那是治标不治本的办法”
    这两个页面不在那个页面生成随机数我感觉没有什么区别。
      

  15.   

    在一同程序中有可能会使用到重复的一串代码,若另一个aspx文件要再次调用生成图形!那是不是需要再多次的使用同一串代码呢?那会造成代码不容易管理的问题,若是生成图片的代码稍有改动,谁还记得是哪个文件已存在此串代码呢?那就已经不再是编程了
      

  16.   

    若果在login.aspx里就有Session["VNum"]值的话,那我还发贴做什么呢?1979xt
      

  17.   

    可不可以在login.aspx的page_load里先调用image.aspx中的page_load方法呢我没试过,随便说说的
      

  18.   

    我也在尝试过此方法,但在c#里不存在include方法,所以在login.aspx里调用生成图形的文件image.aspx只能使用img src方法解决,不知道还有什么好些的办法解决此类问题.
      

  19.   

    不用include,把image.aspx.cs的命名空间引用进来,将方法设置为public空间.方法();试一下这样调用
      

  20.   

    我遇到过此类问题!我知道怎么回事!
    不过我也挺急!因为:出错时,你的Session没有值!就是说这时,你的Session还没有值!举个例子:
    如果你有一个限制用户的界面,如果用户不登录,就提示出错,你用:
    if(Session["username"].ToString()!="aa"){.....}
    这是如果用户的名字是错误的,则不会出现你说的那种情况;但如果你没有登录,则就会出现你说的那种情况。
    怎么解决呢?
    用try!try{
    if(Session["username"].ToString()!="aa"){.....}
    }
      catch(Exception ex)
    {
       Response.Write("<script language=javascript>alert('你还未登录');</script>");
     }虽然麻烦,但事实就是这样!
      

  21.   

    fengyun15所说的方法不能实现,在页面执行的时候也同样会提示"未将对象引用设置到对象的实例。 ",就因为Session["VNum"]里仍然没有值,我曾想过在login.aspx的page_load事件里用JS方法来解决,但仍然没办法,因为若使用img控件的话,那login.aspx更不可能获得Session值,只会获得显示出来的图形罢了。这代码若换成VB.Net代码的话,那似乎没问题,可这是怎么一回事呢?在下一直没有搞清楚。希望哪一位兄台能帮助解决,倍加感激。