如何解决控制范围验证器或文本框最大输入双倍的复选框
我有一个复选框,目标是在勾选复选框时限制文本框的最大输入值。
我想到了两种解决方案,一种是在勾选复选框时改变rangevalidator的值,另一种是在勾选复选框时限制解析到文本框中的值。
但我的后一个解决方案有一个错误,如下图所示。 虽然我不知道如何实施以前的解决方案。
TextBox 代码
<div class="d flex justify-content-start">
<div class="col-6 ">
Hours Spent
<asp:TextBox placeholder="Hours Spent *" Width="" ID="txtHoursSpent" runat="server" MaxLength="3"></asp:TextBox>
<asp:RangeValidator ID="RangeValidator1" runat="server" ErrorMessage="Value must be greater than zero."
ValidationExpression="\d+" ControlToValidate="txtHoursSpent" MinimumValue="0.5" MaximumValue="12" Type="Double"></asp:RangeValidator>
</div>
</div>
复选框代码
<asp:CheckBox Text="Half-Day" runat="server" OnCheckedChanged="HalfDay_CheckedChanged" />
如您所见,代码隐藏中的错误导致我无法将文本框限制在某个范围内。 Code Behind of the Checkbox
有人知道解决办法吗?
解决方法
您正在尝试将文本框本身的引用(甚至不是文本框中的值)与数字进行比较。这将不起作用,因为文本框是一个完整的、丰富的对象。
您必须从文本框中获取值,然后确保该值本身是一个数字(提示:double.TryParse
),然后将 THAT 与双精度值进行比较。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。