Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/281.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# ASP.NET CustomValidator OnServerValidate是否在数据列表中?_C#_Asp.net_Datalist_Customvalidator - Fatal编程技术网

C# ASP.NET CustomValidator 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,但是我不确定如何从数据列表中调用customvalidator的“OnServerValidate”

到目前为止,我正在datalist的ItemDataBound中动态创建CustomValidator(尽管我也有其他方法):

但是我的“cv.ServerValidate”行抛出了一个错误。我不完全确定如何正确设置以确保我们有一个“OnServerValidate”


谢谢

您不需要在运行时创建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;
        }
    }