2009-01-08 26 views
0

使用的ValidationSummary时,我使用的是一群不同的asp.net验证控件的Web窗体上怎么不显示BaseValidator.Text。其中的一些将其Text属性设置为诸如“* Error”或“您错过了这些字段”之类的内容。在ASP.NET

然而,少数的CustomValidator控件有空白文本属性。我故意将它们留空,因为我根据哪种情况失败而动态添加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:" /> 

里面validate_AllowedToDoSomething我打电话:

StackOverflowValidator.ErrorMessage = "Custom Error Message #1"; 
args.IsValid = false; 
return; 

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

回答

9

刚刚成立display="none"而不是"dynamic"在BaseValidator,这应该解决这个问题。

+0

它的工作! 我还曾试图将其设置为不可见,但会要求验证,根本无法运行。我猜想Display属性上的None选项仅仅是为了这个原因。 再次感谢。 – JoeB 2009-01-08 20:25:12