本人在做一个网站,
在注册用户的页面使用.net的自定义控件验证输入的注册用户名是否在数据库中已存在这一功能!  
使用CustomValidator异步验证用户名 或者直接写到数据库内服务器端检查的方法。
因为我刚接触.net1个多月,在搜索的文章看的有点吃力。
希望高手不吝赐教清晰代码,万分感谢 ! 

解决方案 »

  1.   

    你在数据库里搜索这个用户名是否存在啊```
    select * from 表 where userName = '要用的用户名'
      

  2.   

     string connStr = "server = .;database=login;uid=sa;pwd=sa";
                SqlConnection conn = new SqlConnection(connStr);
                string sql = "if not exists (select * from users where username = @username ) begin insert into users(userName,userpwd,userImage,userSex,userAge,userBirth) values(@userName,@userpwd,@userImage,@userSex,@userAge,@userBirth) end";
                SqlCommand cmd = new SqlCommand(sql, conn);
                cmd.Parameters.Add("@userName", SqlDbType.NVarChar, 50).Value = txtusername.Text;
                cmd.Parameters.Add("@userpwd", SqlDbType.NVarChar, 50).Value = txtpwd1.Text;
                cmd.Parameters.Add("@userImage", SqlDbType.NVarChar, 500).Value = savePath;
                cmd.Parameters.Add("@userSex", SqlDbType.NChar, 2).Value = RadioButtonList1.SelectedItem.Text;
                cmd.Parameters.Add("@userAge", SqlDbType.Int).Value = txtage.Text;
                cmd.Parameters.Add("@userBirth", SqlDbType.DateTime).Value = txtbirth.Text;
                conn.Open();
                int n = cmd.ExecuteNonQuery();
                conn.Close();
                if (n > 0)
                {
                    Label1.Text = "注册成功!请进入登陆页面!";
                }
                else
                    Label1.Text = "注册失败!用户名已存在!";
      

  3.   

    用sqldatareader 
    if (dr.read())
    {
    }
    else
    {
    }
      

  4.   

    以下是引用片段:<script type="text/javascript" language="javascript">
            var xmlHttp = null;
            function CheckUser()
            {
                try
                {
                    xmlHttp = new ActiveXObject("Msxml2.XMLHTTP");
                }
                catch(err1)
                {
                    try
                    {
                        xmlHttp = new ActiveXObject("Microsoft.XMLHTTP");
                    }
                    catch(err2)
                    {
                        xmlHttp = new XMLHttpRequest();
                    }
                }
                var Text1 = document.getElementById("Text1");
                var url = "chkuser.aspx?User=" + Text1.value;
                xmlHttp.open("GET",url,true);
                xmlHttp.onreadystatechange = OnHandler;
                xmlHttp.send(null);        }
            function OnHandler()
            {
                if(xmlHttp.readyState == 4)
                {
                    var isValid = xmlHttp.responseText;
                    var exists = document.getElementById("exsits");
                    exists.innerHTML = isValid.substring(0,4);
                }
            }
    </script>
    <input id="Text1" type="text" onblur="CheckUser()" /><label d="exsits"></label><br />
     
      然后建一个chkuser.aspx,其后台代码改为:以下是引用片段:protected void Page_Load(object sender, EventArgs e)
        {
            string user = this.Request.QueryString["User"];        if (UserExist(user))
            {
                Response.Write("存在");
            }
            else
            {
                Response.Write("不存在");
            }    }    private bool UserExist(string username)
        {
            ClassLib.Employee emp = new ClassLib.Employee();
            return emp.EmpNameExist(username);
        }
     
      

  5.   

    使用CustomValidator异步验证用户名,用ajax来验证4楼正解.1,2楼是服务器端的.不算异步