代码之家  ›  专栏  ›  技术社区  ›  marc_s MisterSmith

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

  •  6
  • marc_s MisterSmith  · 技术社区  · 15 年前

    我的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不能小于 小于最小值-69.00 RV折扣

    世界跆拳道联盟????????! 我来自哪里-69$ 少于0美元……有什么问题吗?

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

    1 回复  |  直到 15 年前
        1
  •  19
  •   David M    15 年前

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

    Type="Double"
    
    推荐文章