做用户注册功能,点击注册按钮后,总是报这样的错!!声明一下:userState,userRole分别是User表的外键。可问题总出在这两个外键上!!头痛啊!!!“ 未将对象引用设置到对象的实例。
说明: 执行当前 Web 请求期间,出现未处理的异常。请检查堆栈跟踪信息,以了解有关该错误以及代码中导致错误的出处的详细信息。异常详细信息: System.NullReferenceException: 未将对象引用设置到对象的实例。源错误:行 192:        public static UserState GetDefaultUserState(UserState user)
行 193:        {
行 194:           return  GetDefaultUserStateByUserStateId(user.UserStateId);
行 195:        }
行 196:”把代码发出来:  这是UserStateService类的问题代码:
  public static UserState GetDefaultUserState(UserState user)
        {
         //就是在这里报“未将对象引用设置到对象的实例。”的错!
           return  GetDefaultUserStateByUserStateId(user.UserStateId);
        }        public static UserState GetDefaultUserStateByUserStateId(int id) {
            string sql = "select UserStateId from UserStates where UserStateId=@UserStateId";
      
            try
            {
                SqlDataReader reader = DBHelper.GetReader(sql, new SqlParameter("@UserStateId",0));
                if (reader.Read())
                {
                    UserState userstate = new UserState();                    userstate.UserStateId = (int)reader["UserStateId"];
                    userstate.UserStateName = (string)reader["UserStateName"];                    reader.Close();                    return userstate;
                }
                else
                {
                    reader.Close();
                    return null;
                }
            }
            catch (Exception e)
            {
                Console.WriteLine(e.Message);
                throw e;
            }
           
        }这是UserStateManager类的关于以上方法的相关代码:
        public static UserState GetDefaultUserState(UserState user)
        {
         return     UserStateService.GetDefaultUserState(user);
        }        public static void GetDefaultUserStateByUserStateId(int id) {
            UserStateService.GetDefaultUserStateByUserStateId(id);
        }这是UserManager类的关于以上方法的相关代码:
 public static User AddUser(User user)
        {
            //补充方法 .GetDefaultUserState()/.GetDefaultUserRole()  不知对否
            if (user.UserState == null)
            {
          
                user.UserState =UserStateManager.GetDefaultUserState(user.UserState);
              
            }
            if (user.UserRole == null)
            {
               
                user.UserRole =UserRoleManager.GetDefaultUserRole(user.UserRole);
            }
            return UserService.AddUser(user);
        }
     UserRole的代码与之相同就不重复写了。
请问这到底哪里出错了?? 我该怎么写??