下图是我做的新增商品信息的表单,因为在做服装销售系统时,同样的商品我们往往需要添加几条数据,其他各种的商品信息一样,但是商品的颜色和尺码却不一样,需要通过每一种颜色和尺码就生成一条商品信息,例如:蓝色S码的上衣需要生成一条商品信息,红色XXL码的鞋子需要生成一条商品信息,和蓝色XXL码的商品需要生成一条商品信息……

JQuery部分:
—获取到上面几个输入框的数据
var FundsNum = $("#IsFundsNum").val();//款 号
var Catelist = $("#IsCatelist").val();//名称
var MarMenyer = $("#IsMarMenyer").val();//吊牌价
var MarketMeny = $("#IsMarketMenys").val();//折售后价
var Discount = $("#IsDiscount").val();//销售折扣
var Season = $("#IsSeason").val();//季节
//获取到表格中选中的颜色和对应尺码的数量

var checkStatus = layuiTable.checkStatus(“tabInsetPurchase”);//获取选中行的数据
var S = “”; var M = “”; var L = “”; var XL = “”; var XXL = “”; var SB = “”;
for (var i = 0; i < checkStatus.data.length; i++) {
S += checkStatus.data[i].S + “;”; SB += checkStatus.data[i].SB + “;”;
M += checkStatus.data[i].M + “;”; SJ += checkStatus.data[i].SJ + “;”;
//为了获取多条选中的数据,拼接字符串!
}
S = S.substring(0, S.length - 1); M = M.substring(0, M.length - 1);
XL = XL.substring(0, XL.length - 1); XXL = XXL.substring(0, XXL.length - 1);
//去除最后一个分号;
—用post请求控制器的方法,并且传参数到控制器中去
$.post("/DayWorkManagement/PurchaseStocks/InsertContent",
{
RegimenID: RegimenID, FundsNum: FundsNum, Catelist: Catelist, MarMenyer: MarMenyer, MarketMeny: MarketMeny, S: S, M: M, L: L, XL: XL,
XXL: XXL, SB: SB, SJ: SJ, SS: SS, SY: SY, SE: SE, A: A, B: B, ColorName: ColorName}, function (returnJson)
{
layer.close(layerIndex);
$("#AddCommodity").css({ display: “none” });
tabTitles.reload();
layer.alert(returnJson, { icon: 1, title: “提示” });
}
});
—因为需要传的代码比较多,但是操作步骤是一样的,所以就删减了这一部分。

控制器部分:
—控制器方法中的参数要与JQuery部分传过来的参数相对应,注意区分参数的类型。

public ActionResult InsertContent(string Univalent, int UnitID, int Famous, int ProvisionID, string S, string M, string L, string SB, string SJ, string SS, string SY, string SE, string A, string B, B_Commodits dbcommodits, R_CommoDeRelut dbCommDeRe, B_Stock dbStock)
{
string strMsg = “failed”;
int countSuccessDel = 0;//记录保存成功的条数
int countFailedDel = 0;//记录保存失败的条数
string[] s = S.Split(’;’);
string[] m = M.Split(’;’);
string[] l = L.Split(’;’);
string[] sb = SB.Split(’;’);
string[] sj = SJ.Split(’;’);
string[] colorname = ColorName.Split(’;’);
//用一个字符串数组来保存分割字符串的字符串!
for (int i = 0; i < colorname.Length; i++)
{
—循环上面分割的颜色的字符串数组!
if (string.IsNullOrEmpty(s[i])) { s[i] = “0”; }
if (Convert.ToInt32(s[i]) > 0)
{
//判断上面分割的字符串是否为空,如果为空不就行下面的操作!
dbcommodits.MarketMeny = Convert.ToDecimal(MarketMeny.Trim());
dbcommodits.Univalent = Convert.ToDecimal(Univalent.Trim());
dbcommodits.UnivalentHJ = dbcommodits.CommNumber * dbcommodits.Univalent;
myModels.B_Commodits.Add(dbcommodits);
myModels.SaveChanges() > 0;

//保存新增的数据到数据库的表中去!
dbCommDeRe.FamousID = Famous;
dbCommDeRe.Catelist = Catelist.Trim();
dbCommDeRe.CommCoding = FundsNum + ‘S’ + Color.ColorNumber.Trim() + strRandom;
myModels.R_CommoDeRelut.Add(dbCommDeRe);
myModels.SaveChanges() > 0;

//保存新增的数据到数据库的表中去!
dbStock.CommID = CommId;
dbStock.AcquiredMar = 0;
dbStock.StockAmount = 0;
dbStock.Tighten = 10;
dbStock.Imprison = 0;
myModels.B_Stock.Add(dbStock);
myModels.SaveChanges();
//保存新增的数据到数据库的表中去!
}
这样一个尺码的就判断完成了!其他尺码的操作也是类似!
if (string.IsNullOrEmpty(sj[i])) { sj[i] = “0”; }
if (Convert.ToInt32(sj[i]) > 0) {……}

if (string.IsNullOrEmpty(ss[i])) { ss[i] = “0”; }
if (Convert.ToInt32(ss[i]) > 0){……}

if (string.IsNullOrEmpty(b[i])) { b[i] = “0”; }
if (Convert.ToInt32(b[i]) > 0){……}
………………………………………………………….
每个尺码都循环执行一遍,当然也不用担心会影响执行的速度,因为在循环新增数据的时候都会判断是否为空,如果为空就不会进入到里面的操作,而且每次只会进入其中的一个判断,所以看起来代码虽然多,但是对项目的运行速度的影响并没有太大的影响!
}
strMsg = strMsg = “总共需要保存” + colorname.Length + “条商品信息!其中成功保存” + countSuccessDel + “条,失败” + countFailedDel + “条。”;
return Json(strMsg, JsonRequestBehavior.AllowGet);
—再把里面的数据封装返回到页面就可以了
}

同一样商品,不同颜色和尺码的批量新增相关推荐

  1. c mysql批量添加数据类型_mybatis学习之路----mysql批量新增数据

    原文:https://blog.csdn.net/xu1916659422/article/details/77971867 接下来两节要探讨的是批量插入和批量更新,因为这两种操作在企业中也经常用到. ...

  2. linq to object 、linq to sql 、linq to entity 批量 新增、更新、删除功能扩展

    最近在codeplex上找到了一个功能比较全的linq to object .linq to sql .linq to entity新增.修改.删除功能扩展的控件--magiq. 以linq to s ...

  3. Shell脚本案例:批量新增用户

    Shell脚本案例:批量新增用户 1.准备用户数据文件 cat users.txt user1 1234567890 user2 1234567890 user3 1234567890 user4 1 ...

  4. mybatis高级查询,批量新增

    review sql脚本 实体类 sql watch out mapper mapper test 之前的比较分散,自己用... sql脚本 -- auto-generated definition ...

  5. springmvc 结合ajax批量新增

    目录 1. 需要注意的问题 2. 页面代码 3. controller定义参数接收 1. 需要注意的问题 mvc框架的处理日期问题 @ResponseBody响应对象是自定义对象,响应不是json @ ...

  6. gitlab批量新增用户

    gitlab15批量新增用户 gitlab开放了restApi,只要获取管理员的private_token之后就可以编写shell脚本免登陆通过api操作新增用户. 使用管理员账号生成其private ...

  7. oracle批量新增字段工具,mybatis 中oracle 批量新增三种方法

    第一种 < insert  id =" insert_table "  parameterClass ="java.util.List" > ins ...

  8. 根据需求进行批量新增

    根据需求进行批量新增 ----------------------------------------- 开发工具与关键技术:Adobe Dreamweaver CC 2017 JS 作者:林敏静 撰 ...

  9. PostgreSQL存储过程-批量新增周末到节假日

    步骤分析: 1.定义所需变量,含义详见注释 2.赋初值,删除即将新增的数据(避免重复新增周末) 3.计算开始时间所在的周日(第一个),若周六在开始之前再往下查七天 4.循环执行,若下一个周日在结束日期 ...

  10. oracle批量将id更新为uuid,oracle批量新增更新数据

    本博客介绍一下Oracle批量新增数据和更新数据的sql写法,业务场景是这样的,往一张关联表里批量新增更新数据,然后,下面介绍一下批量新增和更新的写法: 批量新增数据 对于批量新增数据,介绍两种方法 ...

最新文章

  1. 8 种最坑的 SQL 错误用法,你有没有踩过坑?
  2. kl距离 java_信息量、熵、最大熵、联合熵、条件熵、相对熵、互信息。
  3. 内容生态变现价值凸显,“长期主义者”触宝驶入快车道
  4. .sql文件_面试题:mybatis 中的 DAO 接口和 XML 文件里的 SQL 是如何建立关系的?
  5. HashMap 详解
  6. python 锁 多进程
  7. Retina时代的前端视觉优化
  8. ANTLR –语义谓词
  9. JS备忘--子父页面获取元素属性、显示时间,iframe之间互相调用函数
  10. need to focus
  11. 如何查看磁盘分区情况
  12. idea exclude from compile 再加回来
  13. 用数据全方位解读《欢乐颂2》
  14. discuz全局数组变量 后台各项设置 完整版
  15. 人生需要执著——从二本三战到985博士
  16. Win10没有蓝牙功能怎么办 win10蓝牙图标不见了怎么办
  17. OpenCV实践小项目(二) -文档ocr扫描识别
  18. import * as 是什么?
  19. python测试理论-9-6
  20. EVT、PVT、DVT

热门文章

  1. Python的Open CV学习三
  2. imagemagick 图片合并
  3. python表示倍数_倍数 python
  4. 【修真院WEB小课堂】 angular js中的依赖注入是什么?
  5. git提交代码失败 ‘“node“‘ �����ڲ����ⲿ���Ҳ���ǿ����еij������������ļ��� 解决方法
  6. html+css+js百度首页制作+附源代码+实现简单【百度一下】功能
  7. OpenCV学习01-加载、修改、保存图像
  8. 编写一个Linux虚拟网卡来实现类NVI
  9. 解决vite-plugin-eslint缓存导致eslint一直报错的方案
  10. 准确率(accuracy)、召唤率(recall)和精确率(precision)、False Positive、True Positive、False Negative True Negativ的关系