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

时间:2011-05-23 23:39:02

标签: c# asp.net

我正在使用ASP.NET和C#创建一个webform。我创建了一个发布错误消息的方法,该消息由Validation Summary控件获取。

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

我无法将除CustomValidator控件之外的任何内容传递给它。我希望能够将任何验证控件传递给它并设置ErrorMessage属性。我尝试使用BaseValidator和强制转换,但这不起作用。是否可以这样做?

谢谢, 奥兹

1 个答案:

答案 0 :(得分:0)

您也可以编写如下的辅助方法,这种方法更通用,可以在许多地方使用

        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);
    }

使用它时,只需传递Page,Exception,Message(如果有的话)来覆盖异常消息,以及页面的验证组。

希望这有帮助