请问我在用户注册页面里想实现当用户输入用户名后移开textbox,检测用户名的唯一性,我知道是根据textbox.text的内容在数据库中检索,但是我不知道把检索的操作放在哪里实现?我看了textbox只有一个textchange事件。请大家指点,谢谢!

解决方案 »

  1.   

    必须要用到Ajax吗?我是初学的,不了解Ajax
      

  2.   


    可以不用把autopostback设为true在文本框的TextChanged事件中去判断
      

  3.   

    我在textchange事件中实现了不行,我把Autopostback属性也设为true的
      

  4.   

     不用textchange 用js的onblur 
      

  5.   


    protected void hyzcname_TextChanged(object sender, EventArgs e)
        {        if (hyzcname.Text.Length == 0)
            {            Response.Write("<script>alert(\" 请填写必填信息!\");window.Location.href(\"hyregister.aspx\")</script>");
            }
            else
            {
                regcon.Open();
                SqlCommand regcmd = new SqlCommand("select * from hyinfo where hyname='" + hyzcname.Text + "'", regcon);
                SqlDataReader regred = regcmd.ExecuteReader();
                if (regred.Read())
                {
                    hycheck.Text="您的用户名已存在,请重新选用!";            }        }事件的代码如上,当光标离开时页面好像是刷新了,没显示提示信息
      

  6.   

     不行  必须用AJAX    4楼的方法理论上可以实现此功能  但是应该很耗资源  推荐还是JS  onchange
      

  7.   

    这玩意用ajax啊,用jquery的很简单的,跟你写后台代码没区别。
      

  8.   

    textchanged
    {
    写入代码,
    }
    autopost=true
    缺点就是要刷新页面。
      

  9.   

    javascript的话.你可以写
    假设是这样的(如果是服务器控件.编译后也是这样的)
    <input type='text' id='txtName' value='' onblur='checkName();' />
    function checkName()
    {
    //检查用户名
    }如果用jquery的话就更简单了
    $("#txtName").blur(function(){
    //检查用户名
    });