ValidationSummary控件用于在页面中的一处地方显示所有验证错误的列表。这个控件在使用大的表单时特别有用。如果用户在页面底部的表单字段中输入了错误的值,那么这个用户可能永远也看不到错误信息。不过,如果使用ValidationSummary控件,就可以始终在表单的顶端显示错误列表。
你可能已经注意到每个验证控件都有ErrorMessage属性。我们原来不用ErrorMessage属性来表示验证错误信息,而使用Text属性。
ErrorMessage属性和Text属性的不同之处在于,赋值给ErrorMessage属性的信息显示在ValidationSummary控件中,而赋值给Text属性的信息显示在页面主体中。通常,需要保持Text属性的错误信息简短(例如“必填!”)。另一方面,赋值给ErrorMessage属性的信息应能识别有错误的表单字段(例如“名字是必填项!”)。
注解 如果不为Text属性赋值,那么ErrorMessage属性的值就会同时显示在ValidationSummary控件和页面主体中。
代码清单3-18中的页面展示了如何使用ValidationSummary控件以显示错误信息摘要(见图3-14)。
图3-14 显示验证摘要
代码清单3-18 ShowValidationSummary.aspx
<%@ Page Language="C#" %>
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
如果不输入名和姓就提交代码清单3-18中的表单,那么错误信息同时显示在页面主体和ValidationSummary控件中。
ValidationSummary控件支持下列属性:
q DisplayMode——用于指定如何格式化错误信息。可能的值有BulletList、List和SingleParagraph。
q HeaderText——用于在验证摘要上方显示标题文本。
q ShowMessageBox——用于显示一个弹出警告对话框。
q ShowSummary——用于隐藏页面中的验证摘要。
如果把ShowMessageBox属性设为True,并把ShowSummary属性设为False,那么验证摘要只显示在弹出的警告对话框中。例如,代码清单3-19中的页面在警告对话框中显示验证摘要(见图3-15)。
代码清单3-19 ShowSummaryPopup.aspx
<%@ Page Language="C#" %>
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">