我有由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;組;此外,在我看來,這些數據還是不錯的。但是,當提交值時,後動作視圖模型接收爲空 –