C# 将错误消息从代码隐藏添加到验证摘要

C# 将错误消息从代码隐藏添加到验证摘要,c#,asp.net,validation,webforms,C#,Asp.net,Validation,Webforms,我在web表单应用程序上执行以下操作: protected void button_transfer_search_Click(object sender, EventArgs e) { Page.Validate("val1"); if (!Page.IsValid && int.Parse(txtArrivalDateTrf.Text) + 5 < 10) { return; } 受保护的无效按钮\u传输\u搜索\u单击(对

我在web表单应用程序上执行以下操作:

protected void button_transfer_search_Click(object sender, EventArgs e) {

    Page.Validate("val1");

    if (!Page.IsValid && int.Parse(txtArrivalDateTrf.Text) + 5 < 10) {
        return;
    }
受保护的无效按钮\u传输\u搜索\u单击(对象发送者,事件参数e){
第页:验证(“val1”);
如果(!Page.IsValid&&int.Parse(txtArrivalDateTrf.Text)+5<10){
返回;
}
另外,我的aspx文件中有以下代码:

<div class="search-engine-validation-summary">
    <asp:ValidationSummary ValidationGroup="transfer" runat="server" ShowMessageBox="false" />
</div>


我的问题是如何在返回之前将错误消息添加到页面中,以便验证摘要能够捕获并显示它。我知道我们可以在mvc中轻松完成此操作,但我还没有弄清楚如何在web表单中完成此操作。谢谢!

每当我发现这种情况时,我都会这样做:

var val = new CustomValidator()
{
   ErrorMessage = "This is my error message.",
   Display = ValidatorDisplay.None,
   IsValid = false,
   ValidationGroup = vGroup
};
val.ServerValidate += (object source, ServerValidateEventArgs args) => 
   { args.IsValid = false; };
Page.Validators.Add(val);
在我的ASPX代码中,我有一个ValidationSummary控件,其中ValidationGroup设置为与
vGroup
相同的值

然后,在我通过codebehind加载了我想要的尽可能多的CustomValidator(或任何其他类型的验证器)之后,我只需调用

Page.Validate()
if (Page.IsValid)
{
    //... set your valid code here
}

调用
Page.Validate()
调用插入的验证器后面所有代码的lambda链接方法,如果有返回false,则页面无效,返回时未执行任何代码。否则,页面返回有效值,并执行有效代码。

按“返回前”执行,你的意思是在提交表格之前在客户机上吗?在这里找到答案:几乎完全相同:S哦,太糟糕了:SI投票了我自己的问题,结束了:S仍然需要4票。帮帮我。