关于CustomValidator控件问题

来源:百度知道 编辑:UC知道 时间:2024/09/25 00:43:16
protected void CustomValidator1_ServerValidate(object source, ServerValidateEventArgs args)
{
SqlConnection sqlcon = new SqlConnection();
sqlcon.ConnectionString = "data source=MICROSOF-823C35\\SQLEXPRESS;initial catalog=Hpig;Integrated Security=True";
string txt = args.Value;
SqlCommand sqlcom2 = new SqlCommand("select * from loginuser where userid='" + txt + "'", sqlcon);

sqlcon.Open();
sqlcom2.ExecuteNonQuery();
int cont = Convert.ToInt32(sqlcom2.ExecuteScalar());
if (cont > 0)
{
args.IsValid = false;

}
else
{
args.IsValid = true;
}
sqlcon.Close();
}
为什么无论输入是否正确都不验证CustomValidator控件?
用CustomValidator控件实现不了吗?一定要用AJAX?

CustomValidator1_ServerValidate
你不能调用这个方法去主动执行验证吧?
验证控件,顾名思义,它是用在验证别的输入控件的, 你要为它指定一个要验证的控件.然后在按钮等控件里激活表单从而激起验证事件.
然后在这个按钮事件里判断
Page.IsValid

你要验证用户名是否存在的话,建议用AJAX
=========================================
我查了下网上,页面要提交时判断验证是否已通过,通过了才提交数据

if(Page.IsValid)
{
.........
}

CustomValidator(自定义验证)控件
该控件用自定义的函数界定验证方式,其标准代码如下:

<ASP:CustomValidator id="Validator_ID" RunAt="Server"
controlToValidate="要验证的控件"
onServerValidateFunction="验证函数"
errorMessage="错误信息"
Display="Static|Dymatic|None"

占位符
</ASP: CustomValidator >
以上代码中,用户必须定义一个函数来验证输入。

ASP.NET公有六种验证控件,分别如下:
控件名 功能描叙
RequiredFieldValidator(必须字段验证) 用于检查是否有输入值
CompareValidator(比较验证) 按设定比较两个输入
RangeValidator(范围验证) 输入是否在指定范围
RegularExpressionValidator(正则表达式验证) 正则表达式验证控件
CustomValidator(自定义验证) 自定义验证控件
Validat