C# ASP.NET CustomValidator OnServerValidate是否在数据列表中?
我需要为数据列表中的一组文本框使用customvalidator,但是我不确定如何从数据列表中调用customvalidator的“OnServerValidate” 到目前为止,我正在datalist的ItemDataBound中动态创建CustomValidator(尽管我也有其他方法): 但是我的“cv.ServerValidate”行抛出了一个错误。我不完全确定如何正确设置以确保我们有一个“OnServerValidate”C# ASP.NET CustomValidator OnServerValidate是否在数据列表中?,c#,asp.net,datalist,customvalidator,C#,Asp.net,Datalist,Customvalidator,我需要为数据列表中的一组文本框使用customvalidator,但是我不确定如何从数据列表中调用customvalidator的“OnServerValidate” 到目前为止,我正在datalist的ItemDataBound中动态创建CustomValidator(尽管我也有其他方法): 但是我的“cv.ServerValidate”行抛出了一个错误。我不完全确定如何正确设置以确保我们有一个“OnServerValidate” 谢谢您不需要在运行时创建CustomValidator,在模板
谢谢您不需要在运行时创建CustomValidator,在模板中使用它要容易得多。以下是EditItemTemplate内部用于验证文本框的示例代码:
<asp:DataList ID="DataList1" runat="server">
<EditItemTemplate>
<asp:TextBox ID="TextBoxNextActionDate" Text='<%# Bind("NextActionDate") %>' runat="server"
CssClass="gridTextBoxEdit140"></asp:TextBox>
<asp:CustomValidator ID="CustomValidator1" runat="server" ControlToValidate="TextBoxNextActionDate"
ErrorMessage='<% $resources:AppResource,NotValidDateTime %>' Display="Dynamic"
OnServerValidate="DateTimeCustomValidator_ServerValidate"></asp:CustomValidator>
</EditItemTemplate>
</asp:DataList>
希望这有帮助
<asp:DataList ID="DataList1" runat="server">
<EditItemTemplate>
<asp:TextBox ID="TextBoxNextActionDate" Text='<%# Bind("NextActionDate") %>' runat="server"
CssClass="gridTextBoxEdit140"></asp:TextBox>
<asp:CustomValidator ID="CustomValidator1" runat="server" ControlToValidate="TextBoxNextActionDate"
ErrorMessage='<% $resources:AppResource,NotValidDateTime %>' Display="Dynamic"
OnServerValidate="DateTimeCustomValidator_ServerValidate"></asp:CustomValidator>
</EditItemTemplate>
</asp:DataList>
protected void DateTimeCustomValidator_ServerValidate(object source, ServerValidateEventArgs args)
{
DateTime d = new DateTime();
if (!DateTime.TryParse(args.Value, out d))
{
args.IsValid = false;
}
else
{
args.IsValid = true;
}
}