当前位置:编程学习 > C#/ASP.NET >>

ASP.net验证控件验证用户名是否重复,有问题

后台代码如下:
     protected void CustomValidator1_ServerValidate(object source, System.Web.UI.WebControls.ServerValidateEventArgs args)
        {
            string UserName = args.Value;//获取用户名 
            string str = ConfigurationManager.ConnectionStrings["lucyConnectionString"].ConnectionString;
            SqlConnection conn = new SqlConnection(str);
            SqlCommand cmd = conn.CreateCommand();
            conn.Open();
            cmd.CommandText = "select count(*) from Customer_Info WHERE CustomerUserName= '" + UserName + "' ";
           
         int count = cmd.ExecuteScalar();


            
            if (count > 0)
            {
                args.IsValid = false;

            }
            else
            {
                args.IsValid = true;
            }
            conn.Close();
        }
输入用户名和数据库中的一样,但是断点测试后,count的值始终为0,并且验证没有报错,直接添加进入数据库 --------------------编程问答-------------------- 请教各位大虾了。。求助啊。。小女先谢过了 --------------------编程问答-------------------- int count = Convert.ToInt16(cmd.ExecuteScalar()); --------------------编程问答-------------------- 试过啦。。还是不行呢。。还是提交成功,但是在提交成功页面重载后,会显示“用户名重复”,但是数据依然被写入数据库 --------------------编程问答--------------------
引用 3 楼 honeyviola 的回复:
试过啦。。还是不行呢。。还是提交成功,但是在提交成功页面重载后,会显示“用户名重复”,但是数据依然被写入数据库

if (count > 0)
  {
  args.IsValid = false;
  }
  else
  {
  args.IsValid = true;
  //这里写数据库!
  }
--------------------编程问答--------------------
引用 4 楼 koukoujiayi 的回复:
引用 3 楼 honeyviola 的回复:
试过啦。。还是不行呢。。还是提交成功,但是在提交成功页面重载后,会显示“用户名重复”,但是数据依然被写入数据库

if (count > 0)
  {
  args.IsValid = false;
  }
  else
  {
  args.IsValid = true;
  //这里写数据库!
  }




sorry,不太明白呢。。不是应该点击提交按钮然后将数据写入数据库吗?怎么是在自定义验证的脚本里写入数据库呢? --------------------编程问答-------------------- 好吧。。我发现是我同时对一个textbox使用两个验证控件的原因。。谢谢 --------------------编程问答-------------------- s加入数据库是否连接成功的判断!
 
补充:.NET技术 ,  ASP.NET
CopyRight © 2022 站长资源库 编程知识问答 zzzyk.com All Rights Reserved
部分文章来自网络,