0

MVC3 はデフォルトで JSON データをモデルにバインドできると思いました。

しかし、このコード

サーバ:

[HttpPost]
public ActionResult Save(IList<int> IDs)
{
    return null;
}

クライアント:

$.post('@Url.Action("Save", "Users")', {'IDs' : [1, 2, 3]}, function() {});

働かないでください。どうして ??

4

4 に答える 4

2

データを application/json として送信する必要があります。

$.ajax({
    type: 'post',
    url: '/Users/Save'
    data: JSON.stringify({'IDs' : [1, 2, 3]}),
    contentType: 'application/json; charset=utf-8',
    success: function() {
       // ...
    }
});
于 2012-09-04T13:52:38.803 に答える
1

コードはを送信しますIDs[]=1&IDs[]=2&IDs[]=3

送信する必要がありますIDs=1&IDs=2&IDs=3

traditional:true従来のパラメータシリアル化スタイルを使用するようにパラメータを設定します。

$.ajax({
    url: '@Url.Action("Save", "Users")',
    type: 'post',
    data: {'IDs' : [1, 2, 3]},
    traditional:true,
    success: function() {
        // ...
    }
})
于 2012-09-04T16:28:32.987 に答える
0

これは、私が少し前に遭遇した問題と同じかもしれません。この SO の質問を確認してくださいPost Array as JSON to MVC Controller

于 2012-09-04T12:46:17.653 に答える