我在视图页面中有Checkbox
using (Html.BeginRouteForm("ShoppingCart", FormMethod.Post, new { enctype = "multipart/form-data" }))
{
...
<input type="checkbox" name="removefromcart_@item.Id" class="remove-@item.Id" value="@(item.Id)" style="display:none;" />
...
}
<script>
$("tr.cart-item-row > td > input[type=checkbox]").click(function () {
if ($(this).is(":checked")) {
$('input[type=checkbox].remove-' + this.value).prop('checked', true);
} else {
$('input[type=checkbox].remove-' + this.value).prop('checked', false);
}
});
</script>
所以我想将复选框的名称(removefromcart_@item.Id)传递给控制器。
但是我无法处理它,因为当我提交表单时,复选框删除标记(意味着我们提交表单时我们没有得到控制器中复选框的名称)所以我无法获得名称控制器中的复选框。
那么请建议如何解决这个问题?
答案 0 :(得分:0)
提交表单时,如果未选中复选框,则表示它不在POST数据中。需要搜索发布数据以确保控制器中是否存在复选框,而不是检查其值。因为再次,如果提交没有它被检查,那么它将不在发布数据中。