在ASP.NET中使用ValidationSummary时如何不显示BaseValidator.Text

Joe*_*oeB 0 c# vb.net asp.net validation customvalidator

我在Web表单上使用了一堆不同的asp.net验证控件.其中一些将其Text属性设置为"*Error"或"您错过了这些字段"之类的内容.

但是,一些CustomValidator控件具有空白的Text属性.我故意将它们留空,因为我根据哪种情况失败动态添加ErrorMessage.(CustomValidator可能有许多不同的条件,我设置args.IsValid = false)

发生错误时,我设置的ErrorMessage属性将显示在ValidationSummary和Validator控件内.我不希望这样.我希望能够在ValidationSummary中显示ErrorMessage,而不是在BaseValidator.Text属性中显示.

我的第一次尝试是将Text属性设置为空格"".那没用.

我实现的(现在)是一个显示为背景颜色相同的时期.这是一个黑客 - 我不喜欢它.哎呀,也许这就是我在这里的原因!

这是代码:

<asp:CustomValidator ID="StackOverflowValidator" runat="server" 
    Text="." 
    CssClass="validatorstyle"
    Display="Dynamic" 
    OnServerValidate="validate_AllowedToDoSomething" 
    ValidationGroup="MainGroup" />

<asp:ValidationSummary ID="mainGroupValidationSummary" runat="server" 
    ValidationGroup="MainGroup" 
    DisplayMode="BulletList" 
    HeaderText="There was an error in saving.  Please check the following:" />
Run Code Online (Sandbox Code Playgroud)

在validate_AllowedToDoSomething里面我打电话:

StackOverflowValidator.ErrorMessage = "Custom Error Message #1";
args.IsValid = false;
return;
Run Code Online (Sandbox Code Playgroud)

我得到的是"自定义错误消息#1" 两次在Web表单上.提前致谢!

wil*_*llz 9

只需设置display="none"而不是"dynamic"BaseValidator,这应该解决它.