天天看點

ASP.NET MVC批量新增

開發工具與關鍵技術:VS2015,ASP.NET MVC

撰寫時間:2019年 7 月 17 日
           

控制器用string類型接收視圖傳來的參數,先把資料分割并存入string數組,

ASP.NET MVC批量新增

接着用foreach來批量新增一對多的資料

先把strgoodsId轉換為int類型

ASP.NET MVC批量新增

接着新增第一張表

ASP.NET MVC批量新增

接着嵌套for循環用來儲存另一張表

ASP.NET MVC批量新增

在foreach外面定義變量a用來作為for循環的循環條件

ASP.NET MVC批量新增

foreach每循環一次a++

以此,for循環就可以做到循環一次隻儲存一次

完整代碼:

string[] strgoodsId = GoodsID.Split(';');//分割商品ID
                string[] GoodsSLs = GoodsSL.Split(';');//分割商品數量
                string[] GoodsDiscounts = GoodsDiscount.Split(';');//分割折扣
                string[] GoodsDiscountMoneys = GoodsDiscountMoney.Split(';');//分割商品折後單價
                string[] GoodsMoneys = GoodsMoney.Split(';');//分割金額
                string[] GoodsRemarks = GoodsRemark.Split(';');//分割備注


                int a = 0;//for循環用的次數
                foreach (var goodsID in strgoodsId)//周遊循環商品ID
                {

                    int goodsId = Convert.ToInt32(goodsID);

                    rSaleGoodsMiddle.GoodsID = goodsId;
                    rSaleGoodsMiddle.SaleOrderID = bSaleOrder.SaleOrderID;
                    myModel.R_SaleGoodsMiddle.Add(rSaleGoodsMiddle);
                    
                    for (int i = a; i <= a; i++)
                    {
                        bSaleOrderDetail.SaleOrderID = bSaleOrder.SaleOrderID; //銷售訂單ID
                        bSaleOrderDetail.GoodsID = goodsId;//商品ID
                        bSaleOrderDetail.SaleOrderDetailQuantity = GoodsSLs[i].ToString();//商品數量
                        bSaleOrderDetail.SaleOrderDetailAbatement = GoodsDiscounts[i].ToString();//折扣
                        bSaleOrderDetail.SaleOrderDetailAbatementPrice = GoodsDiscountMoneys[i].ToString();//折後單價
                        bSaleOrderDetail.SaleOrderDetailMoney = GoodsMoneys[i].ToString();//金額
                        bSaleOrderDetail.SaleOrderDetailRemark = GoodsRemarks[i].ToString();//備注
                        myModel.B_SaleOrderDetail.Add(bSaleOrderDetail);
                    }
                    
                    a++;//for循環用的次數
                    myModel.SaveChanges();

                }