JSONオブジェクトにコレクションを渡してMVCアクションにしようとしています。グーグルに提供私が試してみましたほぼすべてのソリューションは、それがアクションにデータを渡しません、私は私が欠けているものを教えてください:JSONをASP.Net MVCに渡す
AJAXリクエスト
var data = [];
var questID = 100;
data.push({ QuestionTypeId: '2', QuestionId: questID, Answer: 'asdff' });
data.push({ QuestionTypeId: '2', QuestionId: questID, Answer: 'asdff' });
data.push({ QuestionTypeId: '2', QuestionId: questID, Answer: 'asdff' });
data.push({ QuestionTypeId: '2', QuestionId: questID, Answer: 'asdff' });
//var items = JSON.stringify(data);
//alert(items);
var items = JSON.stringify({ 'items': data });
alert(items);
$.ajax({
url: '/Dashboard/CreateAssessment',
data: items,
type: 'POST',
contentType: "application/json; charset=utf-8",
dataType: 'json',
traditional: true,
success: function (response) {
if (response.success) {
swal('Password Changed', response.Message, 'success');
window.location.href = "/Account/Management";
} else {
$("update-password").removeAttr("disabled");
swal('Error', response.Message, 'error');
}
},
error: function (response) {
$("update-password").removeAttr("disabled");
}
});
モデルクラス
public class AssessmentQuestion
{
public int Id { get; set; }
public string Description { get; set; }
public int DisplayOrder { get; set; }
public string PreviousYearValue { get; set; }
public QuestionType QuestionType { get; set; }
}
コントローラの操作方法
// POST: /Dashboard/CreateAssessment
[HttpPost]
public JsonResult CreateAssessment(List<AssessmentAnswerModel> items)
{
var text = items;
return Json(new { success = true });
// return null;
//return RedirectToAction("Thanks", "Account");
}
'var items = JSON.stringify({'items':data});' 'var items = JSON.stringify(data);'行に変更してください。 –