数据我试图绑定非顺序项列表.
我的看法
@for (int i = 0; i < Model.Data.Count; i++)
{
<tr>
@for (int j = 0; j < Model.Data[i].Count; j++)
{
<td class="col-md-2">
<input type="hidden" name="Data.Index" value="i.ToString()+j.ToString()" />
@Html.TextBoxFor(m => Model.Data[i][j].HEAD_COUNT_WRKLD)
@Html.HiddenFor(m => Model.Data[i][j].WORKLOAD_DETAIL_ID)
@Html.HiddenFor(m => Model.Data[i][j].MONTH)
@Html.HiddenFor(m => Model.Data[i][j].WORKLOAD_ID)
</td>
}
</tr>
}
Run Code Online (Sandbox Code Playgroud)
给出后期值:
Data[0][0].HEAD_COUNT_WRKLD:5
Data[0][0].WORKLOAD_DETAIL_ID:37
Data[0][0].MONTH:1
Data[0][0].WORKLOAD_ID:29
Data[0][8].HEAD_COUNT_WRKLD:48
Data[0][8].WORKLOAD_DETAIL_ID:
Data[0][8].MONTH:9
Data[0][8].WORKLOAD_ID:29
Data[2][1].HEAD_COUNT_WRKLD:7
Data[2][1].WORKLOAD_DETAIL_ID:2
Data[2][1].MONTH:2
Data[2][1].WORKLOAD_ID:1
Data[2][3].HEAD_COUNT_WRKLD:67
Data[2][3].WORKLOAD_DETAIL_ID:4
Data[2][3].MONTH:4
Data[2][3].WORKLOAD_ID:1
Run Code Online (Sandbox Code Playgroud)
和控制器方法:
public ActionResult SaveChangeChiefDetails(List<List<ETSDetailDto>> Data)
{}
Run Code Online (Sandbox Code Playgroud)
绑定似乎对我不起作用,参数始终包含缺失数据.我错过了什么吗?
我正在使用ASP.NET MVC 5.
小智 7
默认情况下,DefaultModelBinder除非您还为索引器提交值,否则将仅绑定索引器从零开始并且连续的集合.
在您的情况下,您发布非连续索引器,因此您需要2个输入来定义索引器,一个用于外部集合,一个用于内部(嵌套)集合.
@for (int i = 0; i < Model.Data.Count; i++)
{
// outer collection indexer
<input type="hidden" name="Data.Index" value="@i" />
@for (int j = 0; j < Model.Data[i].Count; j++)
{
// inner collection indexer
<input type="hidden" name="Data[@i].Index" value="@j" />
@Html.TextBoxFor(m => Model.Data[i][j].HEAD_COUNT_WRKLD)
....
}
}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
1533 次 |
| 最近记录: |