私はMVC Webアプリケーションを開発する初心者です。私はMVCのコントローラに入れ子になったJsonを渡そうとしますが、問題はjsonファイルを渡すことです。入れ子JSONをMVC5のコントローラに渡すには?
私のモデルはそうです。
public class SurveyViewModels
{
public string Question { get; set; }
public bool IsMultipleChoice { get; set; }
public bool IsSelectOneMoreThan { get; set; }
public List<string> Options { get; set; }
}
public class SurveyItems
{
public string SurveyTitle { get; set; }
public List<SurveyViewModels> SurveyViewModel { get; set; }
}
私のコントローラーはそうです。
[HttpPost]
public JsonResult PostQuestionAndOptions(SurveyItems SurveyItems)
{
}
配列にSurveyViewModelsクラスの追加:
var SurveyViewModels= new Array();
$("#getButtonValue").click(function() {
......
var Options = new Array();
for (i = 1 ; i < counter; i++) {
Options[i - 1] = $('#textbox' + i).val();
}
var Data= {
"Question": Question,
"IsMultipleChoice": MultipleChoice,
"IsSelectOneMoreThan": SelectOneMoreThan,
"Options": Options
};
SurveyViewModels.push(Data);
ボタンの機能を公開:
しかし、リストSurveyViewModelはnullです。 SurveyViewModelのリストがコントローラに渡されない理由
誰かが私を助けることができますか?
を助けている場合、その後、すべてのオープンやコード、 マークの答えの中括弧のCLOSEするをチェックし
を探して何だと思います'contentType: 'json''が必要で、データをストリング化する必要があります。しかし、正しく表示された場合は必要ありません。必要なのは 'data:$( 'form')です。serialize()、' –
私はcontentTypeを変更し、データを文字列化しました。それは正しく動作します。ありがとうございました ! – Mesut