项目场景:做一个主从表新增编辑的业务。从表的数据我是直接通过前台的js获取新增和编辑的数据放到隐藏于,在点击保存按钮的时候,把前台隐藏域中的所有新增的从表数据和编辑的从表数据通过json反射层对应的从表list。保存代码如下:
#region 从表数据
List<AS_ReqOrder_Dtl> listAS_ReqOrder_Dtl = JsonHelp.JsonToClass<List<AS_ReqOrder_Dtl>>("[" + hidReqOrderInfoJson.Value + "]");
if (listAS_ReqOrder_Dtl != null && listAS_ReqOrder_Dtl.Count > 0)
{
model.List_AS_ReqOrder_Dtl = new HashedSet<AS_ReqOrder_Dtl>();//清空
for (int i = 0; i < listAS_ReqOrder_Dtl.Count; i++)
{
AS_ReqOrder_Dtl modelDtl = listAS_ReqOrder_Dtl[i];
modelDtl.AS_ReqOrder = model;
modelDtl.IsDel = false;
if (modelDtl.Version==0)
{
modelDtl.CreateBy = WebLoginUserInfo.ID.ToStr();
modelDtl.CreateDate = DateTime.Now;
modelDtl.Sort = 0;
}
else
{
modelDtl.ModifyBy = WebLoginUserInfo.RealName;
modelDtl.ModifyDate = DateTime.Now;
}
model.AddAS_ReqOrder_Dtl(modelDtl);
}
}
#endregion
if (reqID.IsNullOrEmpty())
{
try
{
model.Status = iState;
model.OrgID = OrgID.Value.ToInt32();
var result = ServerFactory.AS_ReqOrderServer.SaveModel(model).ToInt32();
if (result > 0)
{
AlertJsMsg("添加成功", "ReqOrdeList.aspx");
}
else
{
AlertJsMsg("添加失败", "");
}
}
catch (Exception ex)
{
AlertJsMsg("添加失败:" + ex.Message, "");
}
}
else
{
try
{
var result = ServerFactory.AS_ReqOrderServer.UpdateModel(model);
if (result)
{
AlertJsMsg("修改成功", "ReqOrdeList.aspx");
}
else
{
AlertJsMsg("修改失败", "");
}
}
catch (Exception ex)
{
AlertJsMsg("修改失败:" + ex.Message, "");
}
}
其中model是主表的实体,AS_ReqOrder_Dtl是从表的实体
现在新增没问题,编辑就是死活编辑不了。