0

みなさん、良い一日を。私はこのドロップダウンリストを持っています

<asp:DropDownList ID="MonthDropDownList" runat="server">
    <asp:ListItem>--select--</asp:ListItem>
    <asp:ListItem Value="1">January</asp:ListItem>
    <asp:ListItem Value="2">February</asp:ListItem>
    <asp:ListItem Value="3">March</asp:ListItem>
    <asp:ListItem Value="4">April</asp:ListItem>
    <asp:ListItem Value="5">May</asp:ListItem>
    <asp:ListItem Value="6">June</asp:ListItem>
    <asp:ListItem Value="7">July</asp:ListItem>
    <asp:ListItem Value="8">August</asp:ListItem>
    <asp:ListItem Value="9">September</asp:ListItem>
    <asp:ListItem Value="10">October</asp:ListItem>
    <asp:ListItem Value="11">November</asp:ListItem>
    <asp:ListItem Value="12">December</asp:ListItem>
</asp:DropDownList>

そして、私はこの範囲バリデータを持っています

<asp:RangeValidator ID="RangeValidator1" runat="server" ControlToValidate="MonthDropDownList"
                    ErrorMessage="RangeValidator" MaximumValue="1000" MinimumValue="1" ValidationGroup="group1">*</asp:RangeValidator><br />

問題は、なぜそれが私が望むように行動しないのですか? --select--1月から12月までが選択されている場合は、バリデーターをトリガーするはずです。許可する必要があります

何が起こるかというと、数か月しか受け入れられません。スクリーンショットを参照してください

--select--という単語が選択されているため、これは正しいです。

右

これは受け入れられているため、これも正しいです (すべての月は、選択されたときにバリデータをトリガーする必要があるという用語のみを受け入れる必要があります)。

右

でもこれは。2月から9月までの月を選択すると、バリデーターがトリガーされます 違う

それは私が望むものではありません。なぜこの現象が起こるのか教えていただけますか?

範囲バリデーターは、値が 1->1000 の範囲内にある場合にのみ機能する必要があります。2 月の値は範囲内にあります。だからこそ、何が起こっているのか本当にわかりません。

ヘルプ:)

4

1 に答える 1

2

デフォルトの Type 値は であるため、タイプを指定IntegerRangeValidatorない場合は文字列として比較されますString

<asp:RangeValidator  Type=Integer  ....

また、デフォルト項目に範囲外の値を与えます

<asp:ListItem Value="-1">--select--</asp:ListItem>
于 2013-10-01T06:32:12.137 に答える