前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >通过Session记录数据

通过Session记录数据

作者头像
PHY_68
发布2020-09-16 14:35:35
4180
发布2020-09-16 14:35:35
举报
文章被收录于专栏:laopan技术分享laopan技术分享

通过Session记录数据

开发工具与关键技术:MVC

作者:盘洪源

撰写时间:2019年6月26日星期三

在做到一个页面的时候,我需要做到的一个功能就是通过点击子页面的表格行数据然后把数据赋给主页面的表格里,但主页面这个表格里的数据并不是保存到数据库,而是要通过点击一个保存按钮才将主页面的数据保存到数据库里,意思就是说一开始只是将数据库存放在页面上,供用户们看。所以,一开始的时候就不能通过直接保存到数据库中,这个时候就可以需要用到session来记录一下数据了。

首先要想清楚思路,我这个是表格的行单机事件一行一行的把数据添加上去的,有些项目的需求是需要通过批量把数据添加上去,其实都是差不多的。

首先表格的行单机事件

代码语言:javascript
复制
layuiTable.on('row(shopliulanID)',
function (obj) {

                   

                })
代码语言:javascript
复制
获取到行数据的ID,然后传到后台,然后将需要添加数据到主页面表格上的字段查询处理。

再声明实体类接受表格数据

代码语言:javascript
复制
List<Shop>
listShop = new List<Shop>();

Shop shop = new
Shop();

shop.CommodityDetailID
= list.CommodityDetailID;//商品明细ID

shop.CommodityNumber
= list.CommodityNumber;//商品编码

shop.ShopName =
list.ShopName;//商品编码

shop.StyleNumber
= list.StyleNumber;//款号

然后就将数据保存到实体类里,然后再放进session里

代码语言:javascript
复制
listShop.Add(shop);

Session["ListShops"]
= listShop;

但需要想我这个这里一样的需求的就需要前面更新session

因为如果不跟新的话就会每当你一次一次点击数据进来的时候第二条数据就会把第一条数据覆盖掉,从而达不到一条一条数据添加的效果,可能是session自带的效果吧。

代码语言:javascript
复制
if
(Session["ListShops"] != null)

                   {

                       listShop =
Session["ListShops"] as List<Shop>;

                       foreach (var item in
listShop)

                       { 



                       }



                   }

为什么要判断这个session为什么不为空呢?因为要将第一条数据添加进来嘛,然后就是将session里的内容转回表格的格式,这个时候就可以在这个基础上添加数据了,然后再放进session里面就可以了

还有的就是清空session,这个不能忘了,在你需要清空session的地方记得把session清空掉,避免出现不必要的错误。

本文参与 腾讯云自媒体分享计划,分享自作者个人站点/博客。
原始发表:2019-06-27 ,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
相关产品与服务
数据库
云数据库为企业提供了完善的关系型数据库、非关系型数据库、分析型数据库和数据库生态工具。您可以通过产品选择和组合搭建,轻松实现高可靠、高可用性、高性能等数据库需求。云数据库服务也可大幅减少您的运维工作量,更专注于业务发展,让企业一站式享受数据上云及分布式架构的技术红利!
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档