页面数据的传输要注意的问题

在前天我在我在做一个发布借款的一个功能,这个功能要传输很多字段到控制器,但我传过去的字段只接受了一两个,因为我一开始对页面数据的传输的理解还不够明白。

    我传输的时候只考虑到,字段名称要相同,从没考虑到数据类型的问题。然或我就在哪找了半天都没找到。

    一开始我给他设置的数据类型是int(上面的截图是我改过的),我们看到应还本金、应还利息、应还总金额,这三个字段,我们都知道他们是用Decimal这个字段的,这个当然是对的。

    为什么不用int呢,因为这三个字段会有小数点,所以不能用int这个字段。 int是一个整数类型。

    我的错误出现在视图哪里,

我给他调用了toFixed()这个方法。

    toFixed(n)这个方法可以把3.14586514566这种数字,让他只保留后面的n位小数。

但这个方法会把数据类型转为string类型。

    这就是问题的所在,如果你传给控制器的数据的数据类型为string,但你控制器那边接受数据的数据类型为int,那控制器那边接受的数据会变为0。

    这就是我在控制器那边用string来接受数据的原因。

    我们接收到string类型的数据,但保存到数据库,要保存的数据是Decimal,所有我在保存到数据库之前还要进行一次数据类型的转换。

代码如下:

用的是Convert.ToDecimeal这个方法,这样就可以把数据从string转为Decimal类型。

 

总结:页面传输要注意的问题

  1. 字段名称要相同,如果不相同通常会报500的错误。
  2. 数据类型要相同,要不会接收不到对应的数据。

这个是我对页面数据传输的理解,有什么不正确的请指出。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值