所以我继承了一些旧的、糟糕的代码,我正试图将它们从 VB 转换为 C# 并引起人们的注意(或者至少让它不那么可笑)。
我在里面到处都是这样的代码:
rfvReasons.Validate();
if rfvReasons.isValid)
{
// do something
}
每次您想使用 isValid 时都需要这些 Validate 调用吗?对象的 onChange 事件不会导致验证器更新吗?
谢谢
.Validate();
在检查isValid
属性之前,您通常不需要调用验证器。当他们将页面发回服务器时会执行验证,因此isValid
在您运行服务器端代码时应该是最新的。
查看BaseValidator
类(从其RequiredFieldValidator
派生):
ASP.NET 提供了许多能够回发到服务器的控件。当这些控件之一将其 CausesValidation 属性设置为 true 时,将在控件回发到服务器时执行验证。