私の人生では、このデータをバインドすることはできません。これが私のJavaScriptです:
var params = { 'InvItemIDs': ["188475", "188490"]};
$.post("api/Orders/OrderFromInventory?" + $.param(params))
そしてコントローラーアクション:
public HttpResponseMessage OrderFromInventory(IList<int> InvItemIDs)
{
return new HttpResponseMessage();
}
送信するようにクエリ文字列を作成しました。
?InvItemIDs=188475&InvItemIDs=188490
としても
?InvItemIDs[]=188475&InvItemIDs[]=188490
そしてさえ
?InvItemIDs[0]=188475&InvItemIDs[1]=188490
そして、それらのどれも拘束力がありません。InvItemIDs
は常にnull
。私は何を間違っていますか?
編集:
つまり、これはすべて、MVC4 の新しい Web API コントローラー コードのバグ (または何か) であることが判明しました。まったく同じコードを標準コントローラーに移動するとすぐに、動作し始めました。
Web API がこのバインディングを破る理由について誰かが洞察を持っているかどうか、私はまだ興味があります。