日期:2014-05-20 浏览次数:21058 次
<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;
}
if (Page.IsValid == true) {
lblOutput.Text = "Page is Valid!";
}
else {
lblOutput.Text = "Some of the required fields are empty.";
}
------解决方案--------------------
压根就不想用.net的验证控件,无非增加了那么多额外代码,也不见得好用哪去。微软自己的网站都不用这东东