我有由2只列出一个视图模型:后视图模型包含多个列表
public class RandomViewmodel
{
public List<Model1> Model1 { get; set; }
public List<Model2> Model2 { get; set; }
}
当我访问这些视图模型创建视图工作正常
@for (int i = 0; i < Model.Model1.Count(); i++)
{
x = i;
var item = Model.Model1.ElementAt(i);
<tr>
<td>
@Html.Editor("[" + i + "].Amount", new { htmlAttributes = new { @class = "form-control", @Value = item.Amount } })
</td>
</tr>
}
@for (int k=0; k < Model.Model2.Count; k++)
{
x = x + 1;
var bacc = Model.Model2.ElementAt(k);
@Html.Hidden("[" + k + "].ID", bacc.ID, new { htmlAttributes = new { @id = "[" + k + "].ID" } })
<tr style="font-weight:bold;">
<td style="padding-left: 25px;">
@(x+1) @bacc.name
</td>
<td class="adder_table_right" width="130px">
@Html.Editor("[" + k + "].MiscAmount1", new { htmlAttributes = new { @class = "form-control" } })
</td>
<td class="adder_table_right" width="130px">
@Html.Editor("[" + k + "].MiscAmount2", new { htmlAttributes = new { @class = "form-control" } })
</td>
</tr>
}
这里是我的控制器操作:
[HttpPost]
public ActionResult Index(RandomViewModel vm)
现在,当我击中提交按钮,我可以看到两个模型的视图模型对象vm
都收到NULL。
你生成'name'属性不具有关系在所有模型 - 其'@for(INT I = 0;我 m.Model1 [i] Amount)}'和第二个循环的类似。 –
并参考[这个答案](http://stackoverflow.com/questions/30094047/html-table-to-ado-net-datatable/30094943#30094943)了解如何绑定到集合 –
name属性属于我的观点模型的第二个模型 public List Model2 {get;组;此外,在我看来,这些数据还是不错的。但是,当提交值时,后动作视图模型接收为空 –