FineUI 官方论坛

 找回密码
 立即注册

QQ登录

只需一步,快速开始

本论坛已关闭(禁止注册、发帖和回复)
请移步 三石和他的朋友们

FineUI首页 WebForms - MVC & Core - JavaScript 常见问题 - QQ群 - 十周年征文活动

FineUI(开源版) 下载源代码 - 下载空项目 - 获取ExtJS - 文档 在线示例 - 版本更新 - 捐赠作者 - 教程

升级到 ASP.NET Core 3.1,快、快、快! 全新ASP.NET Core,比WebForms还简单! 欢迎加入【三石和他的朋友们】(基础版下载)

搜索
查看: 4005|回复: 2
打印 上一主题 下一主题

提交NumberBox的BUG关于OnTextChanged

[复制链接]
跳转到指定楼层
楼主
发表于 2012-5-5 20:48:29 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
BUG:如果后台给NumberBox的text赋值为 类似 1.30 1.670 这种尾数还有0的数据的时候 则系统会自己触发 OnTextChanged 事件 。
如下代码 大大可以测试下 先选择酱油在选择其他的。。总和的数据就会变了。。
直接贴代码 前台
      <extageManager ID="ageManager1" runat="server" />
      <ext:Form ID="a1" runat="server" >
      <Rows>
      <ext:FormRow runat="server">
      <Items>
       <ext:NumberBox ID ="price" runat="server" Label ="单价" MaxLength="20" AutoPostBack="True" EmptyText="0.00" OnTextChanged="price_TextChanged" Text="0"    ></ext:NumberBox>
  <ext:NumberBox ID ="amount" runat="server" Label ="数量" MaxLength="20" EmptyText="0.00" OnTextChanged="amount_TextChanged" AutoPostBack="True" Text="1"  ></ext:NumberBox>
    <ext:NumberBox ID ="discount" runat="server" Label ="折扣" MaxLength="20" EmptyText="0.00" OnTextChanged="discount_TextChanged" AutoPostBack="True" Text="100"  ></ext:NumberBox>
  <ext:NumberBox ID ="total" runat="server" Label ="总额" MaxLength="20" EmptyText="0.00" ></ext:NumberBox>
      </Items>
      </ext:FormRow>
      <ext:FormRow runat="server">
      <Items>
      <extropDownList ID="d1" runat ="server" Label="商品" OnSelectedIndexChanged="d1_SelectedIndexChanged" AutoPostBack="True" >
      <extistItem  Value="13.10" Text ="酱油"/>
         <extistItem  Value="15.10" Text ="大蒜"/>
            <extistItem  Value="34.30" Text ="酒精"/>
               <extistItem  Value="39.10" Text ="棉花"/>
      </extropDownList>
      
      <extropDownList ID ="d2" runat="server" Label="折扣" OnSelectedIndexChanged="d2_SelectedIndexChanged" AutoPostBack="True" >
          <extistItem  Value="70" Text ="7折"/>
         <extistItem  Value="80" Text ="8折"/>
      </extropDownList>
      </Items>
      </ext:FormRow>
      </Rows>
      </ext:Form>
后台
protected void d1_SelectedIndexChanged(object sender, EventArgs e)
    {
        price.Text = d1.SelectedValue;
    }
    protected void d2_SelectedIndexChanged(object sender, EventArgs e)
    {
        discount.Text = d2.SelectedValue;
    }

    private decimal parse(string s)
    {
        decimal d;
        decimal.TryParse(s, out d);
        return d;
    }

    private void total1()
    {
        total.Text = Convert.ToString(parse(price.Text) * parse(amount.Text) * parse(discount.Text) / 100);
    }

    protected void price_TextChanged(object sender, EventArgs e)
    {
        total1();
    }
    protected void amount_TextChanged(object sender, EventArgs e)
    {
        total1();
    }
    protected void discount_TextChanged(object sender, EventArgs e)
    {
        total1();
    }
沙发
 楼主| 发表于 2012-5-5 20:51:54 | 只看该作者
当然 只要把数据先转成double 在ToString()就没事了。。
而且float 和int 类型都没问题 只针对numeric类型并且设置了小数位的
板凳
 楼主| 发表于 2012-5-5 21:26:12 | 只看该作者
DropDownList又发现个BUG 如果设定了NextFocusControl 控件名 在输入的字符的时候按回车 可以忽略ForceSelection=true 直接跳转到设定的控件名内
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|FineUI 官方论坛 ( 皖ICP备2021006167号-1 )

GMT+8, 2024-10-21 05:33 , Processed in 0.042509 second(s), 17 queries , Gzip On.

Powered by Discuz! X3.4

© 2001-2017 Comsenz Inc.

快速回复 返回顶部 返回列表