コントローラから情報を取得するためにAjaxを使用し、それを自分のビューのチェックボックスのリストとして表示しました。チェックボックスがコントローラにバインドされていません
$(document).ready(function() {
$('#submitButton').hide(); //hide some buttons
$("#Name").hide();
$("#Contact").hide();
$("#Desc").hide();
$("#PMeeting").hide();
$("#Params").hide();
$('#SelectedTeam').change(function() {
$('#content').html('');
$.ajax({
url: '/Audits/GetAuditParams', //this function retrieves a list of objects
type: "POST",
dataType: "json",
data: {
'tn': $('#SelectedTeam').val(),
},
success: function (data) { //here I create the table with checkboxes and labels
$.each(data, function (i, item) {
var li = $('<input type="checkbox" value="' + item.Included + '" name=Parameters[' + i + '].Included id=Parameters_' + i + '__Included"/>' +
'<label for="Parameters[' + i + ']"></label></br>').
text(item.ParameterDescription).prop('checked', item.Included);
li.find('label').text(item.ParameterDescription);//I create a set of hiddem fields with the same new, otherwise the collection will be null in the controller
$('<input>').attr({
type: 'hidden',
id: 'Parameters_' + i + '__Included',
name: 'Parameters[' + i + '].Included'
}).appendTo('form');
$('#content').append(li);
});
}
});
$.ajax({ //this is for a different information
url: '/Audits/GetAuditInfo',
type: "POST",
dataType: "json",
data: {
'tn': $('#SelectedTeam').val(),
},
success: function (data) {
$("#SProject_ProjectName").val(data.ProjectID);
$("#SProject_POC").val(data.POC);
$("#SProject_PDescription").val(data.PDescription);
$("#SProject_PeriodicMeeting").val(data.PeriodicMeeting);
$("#Name").show();
$("#Contact").show();
$("#Desc").show();
$("#PMeeting").show();
$("#Params").show();
}
});
$('#submitButton').show();
});
function isChecked(value) {
if (value == 1) {
return true;
}
else
return false;
}
$('form').submit(function (e) {
$('input[type=checkbox]').prop('checked', function (index, value) {
if (value == true) {
$('#Parameters_' + index + '__Included').val(1);
$('#Parameters_' + index + '__Included').prop('checked', "checked");
} else {
$('#Parameters_' + index + '__Included').val(0);
}
});
});
});
これは私のHTMLコード
<html>
<head>
</head>
<body>
<div class="col-md-4" id="content"></div>
</body>
</html>
あるしかし、私は、コントローラ内のヌルチェックボックスのための情報を取得ModelStated.isvalid = false
、これは誤り
値「ですよ0 'は含まれていません。
また、すべてのチェックボックス(チェックボックスまたはチェックボックスなし)の値は「false」です。