0

我有 4 个下拉菜单:这是下拉代码。

<asp:DropDownList ID="DDL_TimeFromMon" runat="server">
                                    <asp:ListItem Text="1" Value="1"></asp:ListItem>
                                    <asp:ListItem Text="2" Value="2"></asp:ListItem>
                                    <asp:ListItem Text="3" Value="3"></asp:ListItem>
                                    <asp:ListItem Text="4" Value="4"></asp:ListItem>
                                    <asp:ListItem Text="5" Value="5"></asp:ListItem>
                                    <asp:ListItem Text="6" Value="6"></asp:ListItem>
                                    <asp:ListItem Text="7" Value="7"></asp:ListItem>
                                    <asp:ListItem Text="8" Value="8"></asp:ListItem>
                                    <asp:ListItem Text="9" Value="9"></asp:ListItem>
                                    <asp:ListItem Text="10" Value="10"></asp:ListItem>
                                    <asp:ListItem Text="11" Value="11"></asp:ListItem>
                                    <asp:ListItem Text="12" Value="12"></asp:ListItem>
                                </asp:DropDownList>
                                <asp:DropDownList ID="ddl_MonFromAMPM" runat="server">
                                    <asp:ListItem Text="AM" Value="AM"></asp:ListItem>
                                    <asp:ListItem Text="PM" Value="PM"></asp:ListItem>
                                </asp:DropDownList>

                                &nbsp;<asp:Label ID="Label1" runat="server" ForeColor="Gray" Text="to"></asp:Label>
                                <asp:DropDownList ID="DDL_TimeToMon" runat="server">
                                    <asp:ListItem Text="1" Value="1"></asp:ListItem>
                                    <asp:ListItem Text="2" Value="2"></asp:ListItem>
                                    <asp:ListItem Text="3" Value="3"></asp:ListItem>
                                    <asp:ListItem Text="4" Value="4"></asp:ListItem>
                                    <asp:ListItem Text="5" Value="5"></asp:ListItem>
                                    <asp:ListItem Text="6" Value="6"></asp:ListItem>
                                    <asp:ListItem Text="7" Value="7"></asp:ListItem>
                                    <asp:ListItem Text="8" Value="8"></asp:ListItem>
                                    <asp:ListItem Text="9" Value="9"></asp:ListItem>
                                    <asp:ListItem Text="10" Value="10"></asp:ListItem>
                                    <asp:ListItem Text="11" Value="11"></asp:ListItem>
                                    <asp:ListItem Text="12" Value="12"></asp:ListItem>
                                </asp:DropDownList>
                                <asp:DropDownList ID="ddl_MonToAMPM" runat="server">
                                    <asp:ListItem Text="AM" Value="AM"></asp:ListItem>
                                    <asp:ListItem Text="PM" Value="PM"></asp:ListItem>
                                </asp:DropDownList>

一个下拉菜单是 12 小时内的时间,另一个是上午/下午。同样重复下拉。比较验证器如何工作,以便我们可以验证 to time 大于 from time。上午下午。我在两者上都尝试了比较验证器,但是当我选择任何值的 drop 时它都会出错。请指出我正确的方向。如果使用比较验证器无法做到这一点,则使用 jquery 或 javascrpt 的示例代码进行验证。提前致谢

4

1 回答 1

2

您可以像这样使用自定义验证器:

标记:

<asp:CustomValidator ID="CustomValidator1" runat="server"
ErrorMessage="Select a valid time" OnServerValidate="TimeValidate">
</asp:CustomValidator>

代码隐藏:

protected void TimeValidate(object source, ServerValidateEventArgs args)
{
        int fromVal = int.Parse(DDL_TimeFromMon.SelectedValue)
        int toVal = int.Parse(DDL_TimeToMon.SelectedValue)
        string fromAMPM = ddl_MonFromAMPM.SelectedValue
        string toAMPM = ddl_MonToAMPM.SelectedValue

        if(fromAMPM == "AM" && toAMPM == "PM")
            args.IsValid = True
        else if(toAMPM == "AM" && fromAMPM == "PM")
            args.IsValid = False
        else
            args.IsValid = fromVal < toVal 
}
于 2013-04-30T12:54:36.487 回答