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;
}为什么现在只能保存一条数据到数据库中?
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;
}为什么现在只能保存一条数据到数据库中?
session和cookie都是有长度限制的
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;
}
我通过这个存到数据库中了. 为什么每次我点击保存以后 都会加一次!