我正在尝试将复选框的值从视图传递到控制器。 这是我的代码
模特:
public partial class ORDER_HEADER_INFO
{
//many other fields
public bool checkExport { get; set; }
}
在控制器中:
[HttpPost]
public void ExportCSV(List<Models.ORDER_HEADER_INFO> model) {
foreach (Models.ORDER_HEADER_INFO item in model) {
if (item.checkExport) {
//Do somethings
}
}
在视图中:
@model IEnumerable<TIS.Models.ORDER_HEADER_INFO>
@using (Html.BeginForm("ExportCSV", "MKP_004", FormMethod.Post)){
<input type="submit" value="ExportCSV" />
@foreach (var item in Model)
{DateTime deadline = new DateTime(2015, 04, 12);
var className = (item.PRODUCT_START_DATE >= deadline) ? "selected" : null;
<tr class="@className">
<td>
@Html.ActionLink(item.ORDER_NO, "MKP_003", "MKP_003", new { id = item.ORDER_NO }, new { })
</td>
<td>
@Html.DisplayFor(modelItem => item.MODEL)
</td>
<td>
@Html.DisplayFor(modelItem => item.PJNO)
</td>
<td>
@Html.DisplayFor(modelItem => item.DELIVERY_DESTINATION)
</td>
<td>
@Html.DisplayFor(modelItem => item.PRODUCT_START_DATE)
</td>
<td>
@Html.DisplayFor(modelItem => item.FINISH_FLAG)
</td>
<td>
@Html.CheckBoxFor(modelItem => item.checkExport)
</td>
</tr>
}
</table>
}
我的预期结果是我可以获得所选项目的列表,然后与它们一起工作。在方法的参数中。我试过了:
List<Models.ORDER_HEADER_INFO> model
和
IEnumerable<TIS.Models.ORDER_HEADER_INFO> model
但是当我调试模型时仍为空。
非常感谢!
答案 0 :(得分:0)
正如其他人所提到的,您只需要将outMessage.get(DOCUMENT_HOLDER)
重写为foreach
循环,以便将索引应用于HTML字段的for
属性,以便模型活页夹来做它的工作。将您的name
更改为:
foreach