protected void ImageButton_register_Click(object sender, ImageClickEventArgs e)
    {
        DataClassesDataContext db = new DataClassesDataContext();
        string newpassword = this.TBpassw.Text.Trim();
        string password = this.TBpassword.Text.Trim();
        string usernm = this.TBusername.Text.Trim();
        string userrealnm = this.TBrealname.Text.Trim();
        
        string usermessage = this.TBmember_message.Text.Trim();
        Login user1 = db.Login.Where(u => u.User_Name == usernm).First();
        try
        {
            if (usernm != string.Empty && userrealnm != string.Empty && usermessage != string.Empty)
            {
                if (newpassword == password)
                {
                    var newinfo1 = new Login
                    {
                        User_Name = TBusername.Text,
                        User_Password = TBpassw.Text,
                        User_Type = "user"
                    };
                    var newfamilymember = new Family_Member
                    {
                        User_Name = TBusername.Text,
                        Family_Member_Real_Name = TBrealname.Text,
                        Family_Member_Message = TBmember_message.Text
                    };
                   
                    if (user1 != null)
                    {
                        Response.Write("<script>alert('用户名已存在,请重新输入!')</script>");
                    }
                    else
                    {
                        db.Login.InsertOnSubmit(newinfo1);
                        db.SubmitChanges();
                        db.Family_Member.InsertOnSubmit(newfamilymember);
                        db.SubmitChanges();
                        Response.Write("<script>alert('插入数据成功!')</script>");
                    }
                }
                else
                {
                    Response.Write("<script>alert('两次密码不一致,请重新输入!')</script>");
                    //Response.Redirect("register.aspx");
                    TBpassword.Text = " ";
                    TBpassw.Text = " ";
                    TBmember_message.Text = " ";
                    TBrealname.Text = " ";
                }
            }
            else
            {
               Response.Write("<script>alert('真实姓名或用户名不能为空,请重新输入!')</script>");
            }
        }
        catch
        {
            Response.Write("<script>alert('注册失败!请重新注册')</script>");
        }
        
    }

解决方案 »

  1.   

    自己跟踪下看看吧 要想别人能帮你 最好是整个项目一起发出来 
    不然你没dal曾代码  也帮不上你
      

  2.   

     Login user1 = db.Login.Where(u => u.User_Name == usernm).First();在此处打一断点ps:推荐使用firstordefault() 
      

  3.   

    if (user1 != null)
    此处写得不对,任何一个非空值都会去执行if的下一条语句,而不会跳到else了
    楼主试一下什么都不输入时会是什么情况
      

  4.   

    哎呀 用的还是LinQ呢这个问题不会调试啊!
      

  5.   

    LZ记住,你这里的User1不为空的,所以你这样写的条件不对哟
      

  6.   


     //Login user1 = db.Login.Where(u => u.User_Name == usernm).First();
     Login user1 = db.Login.Where(u => u.User_Name == usernm).DefaultIfEmpty().First();  //if (user1 != null)
     if (user1.Count()>0)  
      

  7.   

    问题找到啦,谢谢各位!只要把插入数据库的代码放到catch中就行啦