2

所以我继承了一些旧的、糟糕的代码,我正试图将它们从 VB 转换为 C# 并引起人们的注意(或者至少让它不那么可笑)。

我在里面到处都是这样的代码:

rfvReasons.Validate();

if rfvReasons.isValid)
{
    // do something
}

每次您想使用 isValid 时都需要这些 Validate 调用吗?对象的 onChange 事件不会导致验证器更新吗?

谢谢

4

1 回答 1

2

.Validate();在检查isValid属性之前,您通常不需要调用验证器。当他们将页面发回服务器时会执行验证,因此isValid在您运行服务器端代码时应该是最新的。

查看BaseValidator类(从其RequiredFieldValidator派生):

ASP.NET 提供了许多能够回发到服务器的控件。当这些控件之一将其 CausesValidation 属性设置为 true 时,将在控件回发到服务器时执行验证。

于 2013-02-25T14:58:11.743 回答