先看代码:protected void DetailsView1_ItemInserting(object sender, DetailsViewInsertEventArgs e)
    {
        users u = new users();
        TextBox tx = (TextBox)DetailsView1.FindControl("TextBox1");
        TextBox txtpwd = (TextBox)DetailsView1.FindControl("TextBox4");
        TextBox txtip = (TextBox)DetailsView1.FindControl("TextBox5");
        txtip.Text = Page.Request.UserHostAddress.Trim();
        u.username = tx.Text.Trim();
        u.userpassword = txtpwd.Text.Trim();
        u.user_ip = txtip.Text.Trim();
        DropDownList userclass = (DropDownList)DetailsView1.FindControl("DropDownList4");
        u.user_class =int.Parse(userclass.SelectedValue.Trim());
        DropDownList qx = (DropDownList)DetailsView1.FindControl("DropDownList3");
        u.user_qx_id = int.Parse(qx.SelectedValue.Trim());
        DropDownList ju = (DropDownList)DetailsView1.FindControl("DropDownList8");
        u.j_id = int.Parse(ju.SelectedValue.Trim());
        if (usersBLL.Insert(u))
        {
            Response.Write("<script>alert('添加成功');top.location='userslist.aspx';</script>");
        }
        else
        {
            Response.Write("<script>alert('用户已存在');top.location='userslist.aspx';</script>");
            return;
        }
    }
   我插入一条用户名相同的数据,弹出对话框   “用户已存在”,应该是弹出对话框后就完了,
  但是弹出 “用户已存在” 后程序为什么会继续走,而且最后还把数据插入进去了???(调试看的)求解~~~~~~~~~~~~~~
实在不明白~~~

解决方案 »

  1.   


      public static bool Insert(users users)
            {
                users u = SearchByUserName(users.username);
                if (u != null)
                    return false;            
                    
                return AddUser(users);
            }跟那个没关系吧?
      

  2.   

    usersBLL.Insert(u)把你的方法贴出来
      

  3.   

    都插入成功还返回FALSE 你看下数据库操作方法。按F11一步一步的调试下去。
      

  4.   

    没有问题,以前都正常,是因为想到 如果用户名是空格怎么办, 所以加了个取空格,然后,比如说原有数据 “A” 现在添加个“ A”(空格A)就会出现那种情况,但是你还是直接输入“A”就不会有那种错误~~~ 郁闷~~~
      

  5.   

    usersBLL.Insert(u)方法肯定有问题
      

  6.   

    1。缺少Response.End()
    2. 不知道usersBLL.Insert的内部代码,所以我们只能猜测usersBLL.Insert内部有问题
      

  7.   


    usersBLL.Insert代码在上面啊~~
      

  8.   


     public static bool Insert(users users)
            {
                users u = SearchByUserName(users.username);
                if (u != null){
                    return false;}            
                    
                return AddUser(users);
            }
      

  9.   

    protected   void   DetailsView1_ItemInserting(object   sender,   DetailsViewInsertEventArgs   e) 
            { 
                    //如果验证不通过 
                    e.Cancel   =   true;//取消当前的插入操作 
                    
            }
      

  10.   

    14楼 缺少Response.End()

     如梦哥 e.Cancel = true;2个都可以 ~~   谢谢所有参与的朋友~~~~我怎么没想到取消当前的操作
    结贴了~~
      

  11.   

    if (usersBLL.Insert(u) == false)
    不设置默认就是 true