一个页面上要显示主表数据,和相对应的多笔明细
比如有一个实体类:master,
对应一个明细实体类: detail
master:detail 为1对多关系我现在是这样做的:
构造一个数据结构:
public class DataModel
{
public master Master { get; set; }
public IList<detail> Details { get; set; }
public DataModel()
{
Master = new master ();
Details = new List<detail>();
}
}然后在Controller里面:
public virtual ActionResult Add()
{
DataModel model = new DataModel();
return View("add", model);
}
在前台该怎么处理显示detail数据??
我现在是这样显示明细的:
foreach (var item in Model.Details)
{
<tr >
<td>
@Html.TextBoxFor(modelItem => item.id)
</td>
<td>
@Html.TextBoxFor(modelItem => item.name)
</td>
.............
</tr>
}但是这样提交表单后,后台取取不到details的数据,那后台又该怎么写????
目前的写法:
[HttpPost]
public ActionResult Add(DataModel model)这样后台只能获取到master.master的数据,model.details为null
比如有一个实体类:master,
对应一个明细实体类: detail
master:detail 为1对多关系我现在是这样做的:
构造一个数据结构:
public class DataModel
{
public master Master { get; set; }
public IList<detail> Details { get; set; }
public DataModel()
{
Master = new master ();
Details = new List<detail>();
}
}然后在Controller里面:
public virtual ActionResult Add()
{
DataModel model = new DataModel();
return View("add", model);
}
在前台该怎么处理显示detail数据??
我现在是这样显示明细的:
foreach (var item in Model.Details)
{
<tr >
<td>
@Html.TextBoxFor(modelItem => item.id)
</td>
<td>
@Html.TextBoxFor(modelItem => item.name)
</td>
.............
</tr>
}但是这样提交表单后,后台取取不到details的数据,那后台又该怎么写????
目前的写法:
[HttpPost]
public ActionResult Add(DataModel model)这样后台只能获取到master.master的数据,model.details为null
试试这样行不行?
不能这样写,item重复定义,会提示错误