大家好日子。我有这个下拉列表
<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&gt;内时才有效; 2月的1000个值在范围内。这就是为什么我真的不知道发生了什么。
HELP:)
答案 0 :(得分:2)
如果您没有指定它将作为字符串进行比较的类型,则在Integer
中将类型设为RangeValidator
,因为默认类型值为String
。
<asp:RangeValidator Type=Integer ....
并且还将范围值超出默认项目
<asp:ListItem Value="-1">--select--</asp:ListItem>