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>

1 つのドロップダウンは 12 時間単位で、もう 1 つは AM/PM です。ドロップダウンするために同じことを繰り返します。to time が from time よりも大きいことを検証できるように、比較バリデーターはどのように機能しますか。午前午後。両方で比較バリデーターを試しましたが、どんな値でもドロップを選択するとエラーが発生します。私を正しい方向に向けてください。これが比較バリデーターで不可能な場合は、検証用の jquery または javascrpt のサンプル コードを参照してください。前もって感謝します

4

1 に答える 1

2

次のような customvalidator を使用できます。

マークアップ:

<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 に答える