当前位置: 代码迷 >> .NET Framework >> ~net中customvalidator验证控件没通过验证(IsValid为false)也可以提交成功
  详细解决方案

~net中customvalidator验证控件没通过验证(IsValid为false)也可以提交成功

热度:398   发布时间:2016-05-02 01:06:01.0
救命啊~~.net中customvalidator验证控件没通过验证(IsValid为false)也可以提交成功?
IsValid 都为 false了,还可以提交成功?
不能像其他验证控件一样显示错误信息吗?

C# code
<asp:RequiredFieldValidator ID="RequiredRfvName" runat="server" ControlToValidate="UserName_Txtbox"                    Display="Dynamic" ErrorMessage="用户名不能为空" Font-Size="9pt" Width="99px"></asp:RequiredFieldValidator>//上面这个验证控件就可以提示错误,并且有错误时不能提交成功进入下个页面。<asp:CustomValidator ID="CustomValidator1" runat="server" ControlToValidate="UserName_Txtbox"                    Display="Dynamic" ErrorMessage="该用户名已存在" Font-Size="9pt" OnServerValidate="CustomValidator1_ServerValidate"></asp:CustomValidator>//这个customvalidator控件就不行,不会显示错误信息。它的事件是在提交成功转到另一个页面时候发生的。不知道为什么可以成功转到另一个页面,虽然在检测时候 isValid的值肯定是 false的。//检测会员名字是否已存在        string SqlStr = "select count(*) from tb_UserLogin where UserName='" + args.Value +"'";                //数据类型转换        int result = ep.EXECuteScalar(SqlStr);        //指定控件是否通过验证        if (result > 0)        {            args.IsValid = false;        }        else        {            args.IsValid = true;        }


------解决方案--------------------
C# code
 if (Page.IsValid == true) {       lblOutput.Text = "Page is Valid!";    }    else {       lblOutput.Text = "Some of the required fields are empty.";    }
------解决方案--------------------
压根就不想用.net的验证控件,无非增加了那么多额外代码,也不见得好用哪去。微软自己的网站都不用这东东
  相关解决方案