一、非空验证--RequiredFiledValidator
<一>属性:
- ErrorMessage--验证出错后的提示信息
- ControlToValidate--要验证的控件的ID
- Display--显示方式(Static--不显示也占空间)(Dynamic--不显示不占空间)
- InitialValue--验证的初始值,被验证控件的值与此值相同的话,就认为是空
<二>场景:
- 填没填
- 初始值变没变--通过设置InitialValue来实现
二、对比验证--CompareValidator
<一>属性:
- ErrorMessage--验证出错后的提示信息
- ControlToValidate--要验证的控件的ID
- Display--显示方式(Static--不显示也占空间)(Dynamic--不显示不占空间)
- InitialValue--验证的初始值,被验证控件的值与此值相同的话,就认为是空
- ControlToCompare--要对比的空间的ID
- ValueToCompare--要对比的值
- Operator--对比的运算符
- Type--输入的对比类型
<二>场景:
- 两个控件的值进行对比--例如:密码和确认密码
- 控件输入的值和固定值进行对比--例如:工资
三、范围验证--RangeValidator
<一>属性:
- ErrorMessage--验证出错后的提示信息
- ControlToValidate--要验证的控件的ID
- Display--显示方式(Static--不显示也占空间)(Dynamic--不显示不占空间)
- MaximumValue--范围的上线
- MinimumValue--范围的下线
- Type--类型
<二>场景:
例如--出生日期
四、正则表达式验证--RegularExpressionValidator
<一>属性:
- ErrorMessage--验证出错后的提示信息
- ControlToValidate--要验证的控件的ID
- Display--显示方式(Static--不显示也占空间)(Dynamic--不显示不占空间)
- ValidationExpression--验证表达式(更多正则表达式详解在《正则表达式》中)
五、验证汇总--ValidatorSummary
ShowMessageBox--是否以对话框的形式显示汇总的错误信息
ShowSummary--是否在页面上显示汇总的错误信息
六、自定义验证--CustomValidator
<一>属性:
- ErrorMessage--验证出错后的提示信息
- ControlToValidate--要验证的控件的ID
- Display--显示方式(Static--不显示也占空间)(Dynamic--不显示不占空间)
- ClientValidationFunction--客户端验证函数的函数名(注:函数不用加括号)
例:客户端验证函数的规范:--js函数
function 函数名(sender,e)//sender--事件源 e--事件数据
{
事件数据.Value--要被验证的值,该验证控件所要验证的那个输入框中的值
事件数据.IsValid--告诉验证事件控件,验证是否通过
分三步:
1、把要验证的值取出来
var s=e.Value;
2、进行验证
逻辑。。。
3、告诉验证控件是否验证通过(也就是给 事件数据.IsValid赋值(bool类型))
}
七、验证分组:
把同一组的输入控件、按钮、验证控件的ValidationGroup属性设成一样的。
Repeater控件:展示数据库相关的数据
外观与数据分离。
外观代码:用模板来实现的。(头,脚,项,交替项,分隔符模板)
<asp:Repeater ID="Repeater1" runat="server">
<HeaderTemplate>
<ul>
</HeaderTemplate>
<ItemTemplate>
<li><%# Eval("Name") %></li>
</ItemTemplate>
<FooterTemplate>
</ul>
</FooterTemplate>
</asp:Repeater>
数据代码:C#的绑定代码。
var query = _Context.Info;
Repeater1.DataSource = query;
Repeater1.DataBind();
Repeater在模板中绑定数据三种方式:
1.<%# Eval("属性名或列名","格式如{0:yyyy-MM-dd}")%>
2.<%# 函数名()%>,函数需要事先在.cs文件写好,并返回字符串。如:
public string ShowSexName()
{
bool sex = Convert.ToBoolean(Eval("Sex"));
return sex ? "男" : "女";
}
3.如果使用的实体类(如Linq),可扩展属性,在模板中使用<%# Eval("扩展属性")%>进行绑定。
关于验证控件的俩个应用技巧
一、防止按钮激发验证控件
默认情况下,aspnet控件的按钮都会激发验证,如果不想激发验证,给按钮CauseValidation=False;
二、验证分组问题
把输入的控件(文本框,单选,多选),验证控件(非空,对比,范围,正则,自定义,汇总),按钮的ValidationGroup属性设置成形同的值