I次のセットアップを持ってC#MVC Ajaxの子が一覧表示されます
HTML、それは正しいデータ
クエリ文字列パラメータ
を送るのネットワーク]タブに表示さ$.ajax({
url: 'Transaction/updateTransaction',
data: saveDataObject,
}).done(function (e) {
// done
});
key:2445
transactionDescription:Description Block
transactionToType[0][transactionToTypeKey]:1
transactionToType[0][transactionKey]:2445
transactionToType[0][transactionValue]:51.25
transactionToType[0][transactionTypeKey]:10
transactionToType[1][transactionToTypeKey]:2
transactionToType[1][transactionKey]:2445
transactionToType[1][transactionValue]:10.5
transactionToType[1][transactionTypeKey]:1
コントローラ
public class TransactionSave
{
public int key { get; set; }
public string transactionDescription { get; set; }
public List<TransactionToTypeSave> transactionToType { get; set; }
}
public class TransactionToTypeSave
{
public int transactionKey { get; set; }
public int transactionToTypeKey { get; set; }
public int transactionTypeKey { get; set; }
public decimal transactionValue { get; set; }
}
public int updateTransaction(TransactionSave transactionSave)
{
}
updateTransactionにブレークポイントをやったとき、私は、しかし、transactionSaveは、すべてのデータ(キーと説明)を有し、予想通りtransactionToTypeリストは二つのアイテムを持っているこれらのリスト項目の両方を見ることができ、すべての値は0です。
key:2445
transactionDescription: Description Block
transactionToType [
transactionToTypeKey:0
transactionKey:0
transactionValue:0
transactionTypeKey:0
], [
transactionToTypeKey:0
transactionKey:0
transactionValue:0
transactionTypeKey:0
]
ajaxでオブジェクト内のリストを渡すのは間違っていますか?
おかげ
あなたのデータをポストされたデータをマッピングすることができるようになります形式 'transactionToType [0] .transactionToTypeKeyにする必要があります:1 '(プロパティ名の前後に無かっこ)。しかし、コレクションをGETメソッドに送るべきではありません。別に醜いクエリ文字列から、それはクエリ文字列の制限を超えると、例外 –