gpt4 book ai didi

c# - Repeater 中的 CustomValidator

转载 作者:太空宇宙 更新时间:2023-11-03 14:36:29 26 4
gpt4 key购买 nike

我在转发器中有一个自定义验证器

<asp:Repeater runat="server" ID="lstRepeater" >
<ItemTemplate>
<asp:CustomValidator ID="cvValid" runat="server" CssClass="error" EnableClientScript="False" ErrorMessage="Invalid."></asp:CustomValidator>
<asp:TextBox runat="server" ID="tbCustomAnswer"></asp:TextBox>
</ItemTemplate>
</asp:Repeater>

作为测试,我在 OnClick 事件上尝试了以下代码

    foreach(RepeaterItem item in lstRepeater.Items)
{
CustomValidator cvValid= (CustomValidator)item.FindControl("cvValid");
cvValid.IsValid = false;
}

正如所假设的那样,页面上没有显示错误消息,因为我没有对转发器进行数据绑定(bind)。但是,一旦重新构建转发器和数据源,我就会丢失转发器内的所有旧值。有没有简单的方法解决这个问题?我想不出一种优雅的方式来处理这个问题。

最佳答案

为什么不能只让 OnServerValidate 函数返回 false?

 <asp:CustomValidator ID="cvValid" runat="server" CssClass="error"EnableClientScript="False" ErrorMessage="Invalid."OnServerValidate="ServerValidation" />

void ServerValidation (object source, ServerValidateEventArgs args)
{
args.IsValid = false;
}

关于c# - Repeater 中的 CustomValidator,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/808448/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com