List<List<int>>
MVC3 でモデルバインダーを解析しようとして失敗するタイプがあります。私のコントローラーはそのタイプをパラメーターとして受け取り、そのように完全に入力されたリストを送信すると、機能します。
有効で適切に解析/バインドされたデータ
[ [ 22, 12, 9 ], [1, 2, 3], [5] ]
同じデータ構造をコントローラーに送信するとすぐに、今度は空の配列で、外部コレクションの解析が停止します。バインダーがチョークするいくつかのデータを次に示します。
有効な、不適切に解析された/バインドされたデータ
[ [ 4, 5], [], [6, 7] ]
その値は にバインドされてList<List<int>>
いますが、長さは 1 で、最初の項目はList<int>
of です4, 5
List<List<int>>
では、一部List<int>
の が空のリストである場合に、モデルバインダーが a を受け入れるようにするにはどうすればよいでしょうか? 上記の「有効で、不適切に解析/バインドされた」データが機能する必要があります。
さらに悪いことに、ModelState
! にバインディング エラーがないことです。
また、これが重要な場合は、JSON として (経由でapplication/json
) コントローラーに送信されます。これがバグである場合、そのjsonモデルバインダーに固有のものである可能性が高いと思います。