MVC,实体保存问题
实体Index,属性有ID,Content,CreateDate
实体Detail,属性有ID,IndexID,CargoName
其中,实体Detail中的IndexID是外键。Detail和Index是多对一关系。
问题,我先描述一下。
若只需要保存Index的数据,那么视图上放3个对应的控件,名称与字段名一致,保存时序列化成ID=1&Content=2&CreateDate=2012-08-15,传入控制器中。
而控制器中的保存方法,参数是Index实体的实例。会将序列化数据转换成Index实体,而后只需要新增该实体即可。
如:
function saveIndex() { if ($('#fm').valid()) { $.post(url, $("#fm").serialize() + '&' + $("#fm").serializeDisabled(), function (result) { if (result.success) { $.messager.alert('提示', '数据已保存!'); javascript: $('#dlg').dialog('close') $('#dg').datagrid('reload'); // 刷新数据 } else { $.messager.alert('提示', '数据保存出现错误!', 'error'); } }, 'json'); } }
/// <summary> /// 新建-保存 /// </summary> /// <param name="company"></param> /// <returns></returns> [HttpPost] public ActionResult Create(Index index) { try { IndexRepository.Insert(index); return Json(new { success = true }); } catch (Exception e) { return Json(new { msg = "服务出现错误." }); } }