2
我試圖將複選框的值從視圖傳遞給控制器。 這裏是我的代碼將視圖中的複選框值傳遞給控制器MVC時發生空錯誤4
在模型:
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
}
}
在View:
@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
但是當我調試模式仍然是空。
非常感謝!
你'foreach'循環產生重複'id'屬性(無效HTML)和'name'屬性(不能綁定到一個集合)的複選框。爲typeof ORDER_HEADER_INFO'使用自定義'EditorTemplate'的'for'循環來爲(int i = 0; i m [0] .checkExport) }'檢查html前後的差異 –
當我使用for(int i = 0; i
製作模型'@model IList'(或'List <...>') –