ASP.NET RangeValidator甚至无法执行最基本的数学?
-
23-10-2019 - |
题
我的ASP.NET RangeValidator控件有问题。
我想允许用户输入折扣金额,此金额必须为负(<$ 0.00)。我想验证文本框中输入的金额是一个负值,因此我在页面标记中有一个:
<asp:TextBox ID="tbxDiscount" runat="server" />
<asp:RangeValidator ID="rvDiscount" runat="server" ControlToValidate="tbxDiscount"
MinimumValue="0.0" MaximumValue="0.0" EnableClientScript="true"
ErrorMessage="Please enter a negative value for a discount" />
我尝试在页面渲染之前在代码中动态设置最小值 - 相当于我的商品价格。因此,如果物品为69美元,我想将最低值设置为-69美元:
rvDiscount.MinimumValue = (-1.0m * Price).ToString();
麻烦是:我不断收到此错误消息:
最大值0.0不能小于RVDiscount的最小值-69.00
wtf?!?!??! 我来自哪里,-69美元 是 不到$ 0 ......那有什么问题?
更重要的是:什么是 解决方案 解决问题??
解决方案
它不是在尝试进行数学,而是进行字符串比较,因为您没有否则就告诉它。尝试添加此属性:
Type="Double"
不隶属于 StackOverflow