2017-12-23 28 views
0

ajaxを使用してビューからコントローラに渡すオブジェクトの配列があります。 配列データは以下のとおりです。 enter image description hereajaxからコントローラに配列を取得できません

私ActionMethodは次のとおりです。

public JsonResult AddQuestionsToStep(long stepId, string questionText, string questionType, string correctAnswer = "", List<QuestionOption> choices = null) 

私は他の変数のデータを受信し、選択肢列カウントが、選択肢の配列内のデータがmapped.ieされていない、値を持っているOptionNameよクライアント側はサーバー側ではnullです。私は間違っているの?あなたのバックエンドで

choices: JSON.stringify(choices) 

だけでJSONをパース:あなたのchoicesは、オブジェクトのjavascript配列である、それをシリアル化し、バックエンドにそれを解析として

+0

あなたはどのようにコードを投稿することができますにあなたは選択肢のオブジェクトを構築していますか?スクリーンショットから、OptionIdには文字列ではなく関数が含まれているようです。 –

+0

knockoutJsを使用しています。 'OptionId'が関数であっても、' OptionName'プロパティをマップしてはいけませんか? –

+0

実際には、javascriptオブジェクトの配列を送信しようとしていますが、私はあなたのバックエンドがそれをとにかく処理できるとは思わないのです。 JSON.stringify(選択肢)として送信し、バックエンド側でそれを解析します。 –

答えて

1

List<QuestionOption> choices = (List<QuestionOption>) JsonConvert.DeserializeObject(choicesJson, typeof(List<QuestionOption>)); 
+0

ありがとうございました。私は早く質問を投稿するべきです、私は一日を無駄にしました。 –

+0

あなたを歓迎して、喜んで助けてください! –

+0

Btw。あなたが気にしなければ、あなたがバックエンドで解析するために使用する行を投稿してください。私はasp.netコードを実際の解決策の答えに更新することができます、私はちょうど盲目的にASPコードを推測していました –

関連する問題