刚工作,分配给我做一个注册登陆的模块。
现在注册部分没有问题,可以写进数据表,但是在接下来的,显示用户详细信息的页面,
总是出现这样的问题:
string userid = Session["T_usrcd"].ToString();
//Object reference not set to an instance of an object.这个是错误提示。
这个网站用的webservice
这个userid是我要传进去的一个参数
然后返回一个结果集。
但是,现在这个结果集老是提示是控的。
我是运行的注册然后再进这个叶面的时候出的问题。但是如果我再之前,就声明,用户名和密码为一个定值得时候,就可以运行哥哥姐姐们指教,谢谢啦还有,什么是给分阿?

解决方案 »

  1.   

    估计你是不是没做判断啊,首先是你的设置看你的session里的值管的是多长时间。再就是看你的Session没"T_usrcd"这个东西的值,具体要做判断,如果没这个值为空,那么就给它赋值,或者返回一个值给调用处,告诉它让它填完所有必要信息.---------------------------------------------------------另外,要给分,就是看到你的帖子,点后面的管理,然后在别人的帖子的文本框里填你要给的分数,然后回到最上面的那个文本框,再次输入你的密码按结贴就OK了
      

  2.   

    没有判断 Session["T_usrcd"] = null
      

  3.   

    我自己做测试的时候,使注册了以后点击进去的,应该是有值吧?
    数据库里已经加入了数据。protected void Page_Load(object sender, EventArgs e)
        {
            
            csweb.Service svr = new csweb.Service();
            DataSet resultds = new DataSet();
            string errstr = "";
            string userid = Session["T_usrcd"].ToString();//Object reference not set to an instance of an object.
            try
            {
                svr.webfuncnet(Session["T_usrcd"].ToString(), Session["T_usrpwd"].ToString(), "cswebgetmeminf", "'" + userid + "'", ref resultds, ref errstr);
            }
            catch (Exception err)
            {        }        
            DataTableReader dr = resultds.CreateDataReader();
            while (dr.Read())
            {
                Label1.Text = dr.GetValue(5).ToString();
                Label2.Text = dr.GetValue(7).ToString();
                Label3.Text = dr.GetValue(6).ToString();
                Label4.Text = dr.GetValue(8).ToString();
                Label5.Text = dr.GetValue(9).ToString();
                Label6.Text = dr.GetValue(10).ToString();
                Label7.Text = dr.GetValue(11).ToString();
                Label8.Text = dr.GetValue(12).ToString();
                Label9.Text = dr.GetValue(13).ToString();
               
            }
        }这个是我写的,是不是哪里写错了?
    谢谢楼上的2位,还有,问问,什么是给分?
      

  4.   

    我自己做测试的时候,使注册了以后点击进去的,应该是有值吧?
    ========================================================
    还是要判断Session["T_usrcd"]是否null
      

  5.   

    string userid = Session["T_usrcd"].ToString()这句分开来写试下看,改成string userid;
    userid=Session["T_usrcd"].ToString(),看行不行~!
      

  6.   

    代码最前面加一句
    if(Session["T_usrcd"]==null)Response.Redirect("SessionError.aspx");跳转到session丢失提示页面
      

  7.   

    顺便说一句,session是很容易丢失的
      

  8.   

    单独看code的话,好像没有什么问题,如果MM会调试的话,建议单步调试一下,看看到底是到哪一个step出现的问题....呵呵,MM的帖子人气果然是一个高...^^
      

  9.   

    可能是session里面是null吧,你跟踪看看
      

  10.   

    我注册以后看得,里面有东西。所以觉得很诡异……
    我是真的MM,不过选错了专业,没有办法。
    原来就喜欢玩游戏,喜欢魔兽,CS,D2。现在迷上了跑跑卡丁车。
    嘿嘿。
    谢谢大家^^我会加分得,不过大家都帮助我了,我+给谁呀~
      

  11.   

    kbxj406(羽儿) 
    -----------------
    是色鬼,鑒定完畢 -_-
      

  12.   

    string userid;
    try
    {
        userid = Session["T_usrcd"].ToString();
    }
    catch(System.NullRefenceException)
    {
        userid="";
    }
    if(userid=="")
    {
        .....
    }
      

  13.   

    还是要判断Session["T_usrcd"]是否null