防止在第一个事件无效时触发第二个事件+asp.net

本文关键字:事件 第二个 +asp net 无效 第一个 | 更新日期: 2023-09-27 18:00:16

我有两个自定义服务器验证方法,分别与两个下拉列表关联。因此,当有一个帖子回来时,这两种方法似乎都会开火。如果第一个未通过验证,我需要防止第二个启动。以下是的方法

protected void CustomValidatorCountryOfCitizenshipServerValidate(object source, ServerValidateEventArgs args)
        {
}
protected void CustomValidatorSecondCountryOfCitizenshipServerValidate(object source, ServerValidateEventArgs args)
        {
}

我尝试将第二个下拉控件的原因验证设置为false,但没有成功。我还将第一个方法的args设置为false,但当调用第二个方法时,它是true。有人能帮助吗

防止在第一个事件无效时触发第二个事件+asp.net

设置标志:

bool isValidated = false;
protected void CustomValidatorCountryOfCitizenshipServerValidate(object source, ServerValidateEventArgs args)
{
    // Validation code
    isValidated = true;
}
protected void CustomValidatorSecondCountryOfCitizenshipServerValidate(object source, ServerValidateEventArgs args)
{
    if (!isValidated)
        return;
    // ...
}

这实际上是非常直接的!

只需设置一个bool并将其预设为默认值。

 bool isValid = false;
protected void CustomValidatorCountryOfCitizenshipServerValidate(object source, ServerValidateEventArgs args)
            {
              isValid = true; 
            }
protected void CustomValidatorSecondCountryOfCitizenshipServerValidate(object source, ServerValidateEventArgs args)
        {
          if(!isValid)
          {
          }
        }