ASP.NET RangeValidator甚至不能做最基本的数学运算?

时间:2010-06-03 11:31:31

标签: asp.net validation rangevalidator

我的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" />

我尝试在页面呈现之前在我的代码中动态设置MinimumValue - 相当于我的商品价格。因此,如果该项目是69美元,我想将最小值设置为 - $ 69:

rvDiscount.MinimumValue = (-1.0m * Price).ToString();

问题是:我不断收到此错误消息:

  

最大值0.0不能少   比最小值-69.00   rvDiscount

WTF?!?!??!我来自哪里,-69 $ IS 小于0美元......那么问题是什么?

更重要的是:问题的解决方案是什么?

1 个答案:

答案 0 :(得分:20)

它不是在尝试做数学,它正在进行字符串比较,因为你没有告诉它。尝试添加此属性:

Type="Double"