如何将任何验证控件传递给方法

本文关键字:方法 控件 验证 任何 | 更新日期: 2023-09-27 17:57:21

我正在使用 ASP.NET 和C#创建一个Web表单。 我创建了一个方法,该方法发布由"验证摘要"控件选取的错误消息。

protected void PostErrorToCusVal(ref System.Web.UI.WebControls.CustomValidator ErrorObj, string ErrHead, string ErrMsg) {
  ErrorObj.ErrorMessage = "*SomeHTML/CSS*" + ErrHead + "*SomeHTML/CSS*" + ErrMsg + "*SomeHTML/CSS*";
}

我在将自定义验证器控件以外的任何内容传递给它时遇到问题。 我希望能够将任何验证控件传递给它并设置 ErrorMessage 属性。 我尝试使用BaseValidator和强制转换,但这不起作用。 有可能做到这一点吗?

谢谢奥兹

如何将任何验证控件传递给方法

您也可以编写一个帮助程序方法,如下所示,该方法将更通用,可以在许多地方使用

        public static void AddExceptionMessageAsValidator(Page page, Exception ex, string message, string validationGroup)
    {
        CustomValidator exValidator = new CustomValidator();
        exValidator.IsValid = false;
        if (message != null)
            exValidator.ErrorMessage = message;
        else
            exValidator.ErrorMessage = ex.Message;
        exValidator.Text = String.Empty;
        if (!String.IsNullOrEmpty(validationGroup))
            exValidator.ValidationGroup = validationGroup;
        page.Validators.Add(exValidator);
    }

要使用它,只需传递页面、异常、消息(如果有)以覆盖异常消息和页面的验证组。

希望这有帮助