You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何在Validation Summary中显示Catch块中的异常信息

实现ValidationSummary显示批量邮件异常信息

当然可以实现!我来给你讲清楚怎么在后台按钮点击事件里,把邮箱相关的异常信息显示到ValidationSummary控件中:

步骤1:调整后台Catch块代码

把你原来追加文本框的代码,替换成动态添加自定义验证错误的逻辑:

catch(Exception ex)
{
    // 创建一个自定义验证器用于承载异常信息
    CustomValidator emailErrorValidator = new CustomValidator();
    // 设置要显示的异常信息
    emailErrorValidator.ErrorMessage = ex.Message;
    // 标记该验证器为无效状态
    emailErrorValidator.IsValid = false;
    
    // 如果你的ValidationSummary设置了ValidationGroup,这里要对应设置相同的组名
    // 比如你的ValidationGroup叫"EmailBatchGroup",就加上下面这行
    // emailErrorValidator.ValidationGroup = "EmailBatchGroup";
    
    // 将验证器添加到页面的验证集合中
    Page.Validators.Add(emailErrorValidator);
    
    // 触发页面验证,让ValidationSummary刷新显示所有错误
    Page.Validate();
    // 如果用了ValidationGroup,就传组名:Page.Validate("EmailBatchGroup");
}

步骤2:确保页面上的ValidationSummary配置正确

检查你的ASPX页面里的ValidationSummary控件,确保它的配置能正常接收并显示这些错误:

<asp:ValidationSummary 
    ID="ValidationSummary1" 
    runat="server" 
    ShowSummary="true" 
    DisplayMode="BulletList" 
    HeaderText="发送邮件时出现以下错误:"
    <!-- 如果用了ValidationGroup,加上下面这行 -->
    <!-- ValidationGroup="EmailBatchGroup" -->
/>

为什么这样做?

  • 动态创建的CustomValidator会自动被ValidationSummary识别,每个异常对应一条错误条目,刚好满足你5个错误邮箱显示5条信息的需求
  • ValidationSummary自带的列表样式(比如BulletList)比手动拼接文本框内容更整洁,也符合Web Forms的验证控件规范
  • 如果你设置了ValidationGroup,能确保这些错误只在特定的验证场景下显示,不会和页面其他验证混淆

这样修改后,测试批量错误邮箱时,ValidationSummary就会逐条展示所有的异常信息啦!

内容的提问来源于stack exchange,提问作者Preet

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.28 09:57:30