《.net/C#--基于表格中内嵌下拉框和查询下拉框的几种方式》

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

一个需求是要在表格中可以修改数据的需求,那么有些数据涉及到了需要通过外键在
其他表中查询数据,下面的例子是,商品表需要关联了尺码表、颜色表、类型表、单位表,
需求要在表格中修改数据,这几个涉及到外表的字段,就需要通过下拉框的选择项显示在
表格上:
我使用的是bsgrid表格绑定的数据,遵照它的规则使用w_render来转换一下就可以在表格中内嵌
Select 标签了;如下图:
在这里插入图片描述
1
代码如下:
2
在这里插入图片描述
使用bsgrid的w_render 就行了,然后我向表格中添加一个按钮,只有在点击按钮的时候
才会去查询下拉框的数据,这还是关乎性能的,每一行数据都具有下拉框,一千条数据,就
有4*1000个下拉框要绑定,那加载速度上肯定是会变慢的,所以还是需要用那条数据才去
查询那条数据;

我在每一个行的Select哪里都绑定了一个私有的id,所以就可以单独处理某一行;代码如下:3
在这里插入图片描述
点击按钮,识别出来某一行的点击事件之后,先给一个加载层,防止反复点击,反复去查询,
而导致的卡机,由于有四个Select,我总共提交了四次数据,同一个请求方法,根据不同的
参数,作为条件,而返回不同的结果:
再看服务器(控制器)上的代码:

我声明了一个类,类里面总共有8个字段,我原本打算使用类把数据全部放入类集合中,
但是那样的话还要在View层进行判断分割,而那些不是View应该有的工作,所以还是
决定采用请求4次的方式来进行查询:
4
在这里插入图片描述
总共返回四次,分别是尺码、颜色、单位、类型,

然后在View进行数据的接收:
也因为有四个Select所有要把数据绑定到正确的Select上:
5
在这里插入图片描述
我在最上面使用了$.ajaxSetting.async = false
来让代码同步执行;循环完毕之后,我赋予Select标签初始值,
初始值就是数据库中所对应的外键ID

下面查看第二种下拉框的绑定方式:

这种查询,是通过调用一个封装好的下拉框的查询的方法:6
在这里插入图片描述
这种逻辑个第一种基本上是一样的。7
在这里插入图片描述
控制器这边也是通过条件来查询,然后把结果返回个View然后View只负责把数据
显示给页面就可以了;

然后,在这个类里面放上要使用的字段,然后在view层传递一个方法过去服务器(控制器),

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值