Button lb = sender as Button;
        string wellno = Server.UrlDecode(Request.QueryString["wellno"]);//获得井号
        hidProjectBasicID.Value = Request.QueryString["projectCode"];//项目编号        var mmodel = new IBusinessLayer.ProjectSite.MaterialPreparel();        int i = Convert.ToInt32(lb.CommandName.ToString()) % SmartGridView1.PageSize;        var Details = new PS_MaterialUseDetail();
        if ((this.SmartGridView1.Rows[i].FindControl("txtNum") as TextBox).Text != "")
        {
            Details.AOGNum = decimal.Parse((this.SmartGridView1.Rows[i].FindControl("txtNum") as TextBox).Text);
        }
        if (Details.AOGNum > mmodel.GetMaterialByID(decimal.Parse(lb.CommandArgument)).RequireNum)
        {
            ClientScript.RegisterStartupScript(GetType(), "", "<script>alert('到货数量不能大于需要数量');</script>");
        }        Details.BatchNo = lbPrincipal.Text; //批次号
        Details.StockNum = decimal.Parse(lb.CommandArgument);//准备序号
        Details.MaterialName = mmodel.GetMaterialByProjeccodeOrWellno(hidProjectBasicID.Value, wellno).MaterialName;//物料名称
        Details.ModelSpecification = mmodel.GetMaterialByProjeccodeOrWellno(hidProjectBasicID.Value, wellno).ModelSpecification;//规格型号
        Details.PlanNum = 0;    //计划入库数量
        Details.StockPlace = mmodel.GetMaterialByProjeccodeOrWellno(hidProjectBasicID.Value, wellno).SendPlace;//存货地点
        Details.ProjectCode = hidProjectBasicID.Value;//项目编号
        Details.ProjectName = mmodel.GetMaterialByProjeccodeOrWellno(hidProjectBasicID.Value, wellno).ProjectName;//项目名称
        Details.Prickle = mmodel.GetMaterialByProjeccodeOrWellno(hidProjectBasicID.Value, wellno).Prickle;//计量单位
        Details.RegisterTime = mmodel.GetMaterialByProjeccodeOrWellno(hidProjectBasicID.Value, wellno).SubmmitTime;//创建时间
        Details.WellNo = wellno;
        var MaterialDetailList = new List<PS_MaterialUseDetail>();
        if (Session["Details"] != null)
        {
            MaterialDetailList = Session["Details"] as List<PS_MaterialUseDetail>;
        }
        if (MaterialDetailList == null)
        {
            MaterialDetailList = new List<PS_MaterialUseDetail>();
        }
        MaterialDetailList.Add(Details);
        Session["Details"] = MaterialDetailList;
    }为什么现在只能保存一条数据到数据库中?

解决方案 »

  1.   

    直接存到数据库不就行了?
    session和cookie都是有长度限制的
      

  2.   

    那里是你保存数据的地方,既没有for循环,也么有看到数据集合
      

  3.   

    materialBatch.AddMaterielRegister(batchinfo, Session["Details"] as List<PS_MaterialUseDetail>, SystemStatus.StockType.InStock);
     try
                {
                    MaterialBatchControler.Add(batchInfo);//添加批次信息
                    foreach (PS_MaterialUseDetail material in materiallist)
                    {
                        PS_MaterialPrepare prepare = MaterialPrepareControler.All.Where(m => m.ID == material.StockNum).FirstOrDefault(); //根据物料准备序号获得物料准备明细对象
                        if (type == SystemFig.SystemStatus.StockType.InStock)
                            prepare.ArriveNum += material.AOGNum;
                        if (type == SystemFig.SystemStatus.StockType.OutStock)
                            prepare.ArriveNum -= material.AOGNum;
                        MaterialPrepareControler.Modify(prepare);
                        MaterialUseDetail materialdetail = new MaterialUseDetail();
                        materialdetail.AddMaterialInterDetail(materiallist);//增加出入库明细
                    }
                    return true;
                }
    我通过这个存到数据库中了. 为什么每次我点击保存以后 都会加一次!