【问题标题】:ASP.NET RangeValidator can't do even the most basic math?ASP.NET RangeValidator 连最基本的数学运算都做不了?
【发布时间】:2010-06-03 11:31:31
【问题描述】:

我的 ASP.NET RangeValidator 控件有问题。

我想允许用户输入折扣金额,该金额必须为负数(

<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 rv折扣

WTF?!?!??! 我从哪里来,-69 $ IS 不到 $0 ......那有什么问题?

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

【问题讨论】:

    标签: asp.net validation rangevalidator


    【解决方案1】:

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

    Type="Double"
    

    【讨论】:

    • +1 你成功了 - 希望我能 +100 ! :-) 我知道我不是只见树木不见森林......谢谢!
    • 你总是可以赏金的。 ;) 可能是滥用系统。乐于助人。
    • 必须至少值得一试...... ;)
    • 当然——当我尝试第一次申请时,我还处于 10 分钟的“无法接受”阶段.....但你绝对赚到了!
    • 如果您在FormView 中使用它,请确保在其他人开始用头撞墙之前,请确保您查看的是正确的模板 (InsertItemTemplate/EditItemTemplate) .因为设置 Type 属性对我不起作用,所以我把头发拉出来了,只是因为我在一个模板中修复它并测试另一个模板。 :)
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-07-25
    • 1970-01-01
    • 1970-01-01
    • 2020-11-02
    • 1970-01-01
    • 2014-11-20
    相关资源
    最近更新 更多