《.net/C#--bootstrop框架在bsgridPage表格中修改数据,只刷新表格不刷新页面第二种方式》

作者:龙文浩
开发工具与关键技术: MVC/C#
撰写时间:2019年4月13号

知识点说明:
基于view只是用来传递数据,于是这次的目的跟上次不一样:这次是把计算的部分放到了服务器(控制器)上,而让页面仅仅执行的是接收数据和绑定数据的工作:在结尾附上上一次的操作进行对比,这次操作的流程如下:
第一:建立一个类:如下图:
11
在这里插入图片描述
然后,在这个类里面放上要使用的字段,然后在view层传递一个方法过去服务器(控制器),
10
在这里插入图片描述
上图,利用post异步提交字段到服务器(控制器),然后我们在控制器上进行接收,接收的时候实例化最先声明好的类,如下图:
先在最上层声明好可继承的静态属性:

9
在这里插入图片描述
然后,写一个公共的方法来接收,如下图:

在接收的方法中,把计算的数据拿出来进行计算,
计算好了之后,把结果保存进去声明好的类,

然后,去改变数据库的数据,保存成功后,
把bool值改变成为true,然后把整个类返回去,
在这里我就不使用Response.White();Response.End();
如果需要使用那两个属性,把函数返回设置为空,然后在返回之前,
把类的集合实例化:可使用下面两行代码:
JavaScriptSerializer objects = new JavaScriptSerializer();
string lst = objects.Serialize(VO_Price);
然后在view层那边,把接收到的类的集合,使用
JSON.parse函数,让集合变成javaScript对象,
就可以超常判断它的successData是不是等于true了

两种方式可以自己去测试,哪种好用就使用那种方法;8
在这里插入图片描述

  1. 下面的是上一次的方式,我还是不太建议在view进行数据的加工的,因为别人可以查看源代码就知道我后台的运算方式,这一点不太安全的,把逻辑代码都放到(服务器)控制器会比较好。
  2. 我在做一个修改“销售折扣”的功能,刚开始是修改成功就刷新一次页面,但是在实际的使用当中,反馈信息是,每修改一条数据就刷新一次页面,导致很不方便,即时间上损耗多,而且如果在按库存排列的时候会导致找商品信息的难度加大;
  3. 于此同时,就必须要有一个功能是可以在表格中修改数据,然而暂时按最先的库存顺序排列,而且不能刷新页面,只刷新数据。
  4. 刚开始,我是使用table.refershPage(),来刷新一下表格,但实际需要的是刷新时间不能超过1秒,就是速度要非常的快,那就问题来了,那有没有什么方法在不刷新页面,也不刷新表格的情况下进行呢,这样才有可能达到不超过1秒就显示修改的数据;折腾了半天,想出一个方法,如下:
    7
    在这里插入图片描述
    这是什么意思呢,我在表格的每一行数据哪里加了一个唯一的id进行声明,然后我获取到的就是唯一的一个ID,而这个ID恰好就是属于一行数据里面的子级td;然后我就不刷新页面,也不刷新表格,我直接通过计算把数据计算出来,然后清空td原来的数据,绑定上我计算的数据,而这计算的方式,跟服务器(或控制器)那边的计算方式是一样的,这样就可以让页面数据跟数据库的数据保持一致,如下图:

我在绑定页面数据的时候,有一个前提,就是数据库那边已经成功更新的数据,然后才到这边开始更新页面的数据,显示给用户,而这过程不超过1秒;

6
在这里插入图片描述
如下图所示,这个案例,它只是改变‘折扣’的数字,然后同时改变‘售价’、利润、和具体几折的中文,
所以,我就可以采用在页面计算的方式把数值直接计算出来,然后绑定回去表格;

5
在这里插入图片描述
使用过程当中满足可使用者的四个需求,即不刷新页面,只刷新表格数据,又不影响初始排列顺序,而且加载数据不超过1秒;然后,我还给了个提示:
提示“当利润达到极低时”提示用户注意当前出售利润极低,由于数据库中有用户的进货价格,页面上我们有可以计算出售价,于是我们顺便计算出利润了,可以按利润的2%来算,也可以给定一个固定值,等于或低于0就报告给用户;
4
在这里插入图片描述
提示的话,给不给都可以了,我原本是想,让利润低于0的时候就不去执行函数体了,但仔细想想是不能这样的,万一店家故意清仓不要利润呢,那我做的哪个0就不执行的,不就成为系统bug了。

修改‘销售折扣’3
在这里插入图片描述
立刻变成下图:2
在这里插入图片描述
然后我手动刷新页面:1
在这里插入图片描述
可以看到上图

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值