加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

c# – 如何以编程方式设置范围验证器的最大值?

发布时间:2020-12-15 08:32:09 所属栏目:百科 来源:网络整理
导读:我想在文本框上设置一个范围验证器,以防止有人订购的产品多于可用产品.我有可用的数量存储在数据库中,我将Ranged Validator的最大值属性数据绑定到数据库中的字段. asp:RangeValidator ID="RangeValidator1" runat="server" ControlToValidate="tbQuantity"
我想在文本框上设置一个范围验证器,以防止有人订购的产品多于可用产品.我有可用的数量存储在数据库中,我将Ranged Validator的最大值属性数据绑定到数据库中的字段.
<asp:RangeValidator ID="RangeValidator1" runat="server" 
                    ControlToValidate="tbQuantity" Display="Dynamic" ErrorMessage = "Can't Order More Than Quantity." 
                    ForeColor="Red" MaximumValue='<%# Eval("Quantity") %>' MinimumValue="0"></asp:RangeValidator>

但是,当我调试程序时,我得到一些意想不到的结果.

数量是17.
并且1不会触发错误消息,但2-9会触发,而10-17不会触发它,但是18和更高触发它.我猜这与它正在比较字符串的事实有关,但我不确定如何将它改为比较数字.

解决方法

默认范围验证器类型为string,将Type属性更改为Integer
<asp:RangeValidator 
    ID="RangeValidator1" runat="server" 
    ControlToValidate="tbQuantity"
    Display="Dynamic"
    ErrorMessage="Can't Order More Than Quantity." 
    ForeColor="Red"
    MaximumValue='<%# Eval("Quantity") %>'
    MinimumValue="0"
    Type="Integer" /> // <-- add type property of integer

http://msdn.microsoft.com/en-us/library/system.web.ui.webcontrols.basecomparevalidator.type.aspx

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读