0

--記事を整理するため、元のテキストを削除しました--

- - - - 編集 - - - - - - - - - - - - - - - - - - - - - --------------------------------

以前にこの問題に遭遇したことがある人に役立つかどうかわからない追加情報を次に示します。JS スクリプトでの最終的なオブジェクトは次のようになります。

var DealerModel = {
    Dealer: {
        AccountId: 5678,
        Name: "Austin",
        City: "Who knows",
        State: "TN"
    },
    Test: 111,
    DealerCategories: [{Name: "Test1", Value:"Value1"},{Name:"Test2", Value:"Value2"}]
}

これを jquery 経由でコントローラーに渡すと、Test の値が 111 になり、DealerCategories に 2 つのオブジェクトがあることが示されますが、これらのオブジェクトと Dealer の両方で NULL が表示されます。

モデル/コントローラーを数回変更しましたが、サブjsonオブジェクトを持つオブジェクトを渡しても、それが気に入らないようです。これは私が見逃している単純なものだと感じています。

4

2 に答える 2

0

モデル バインダーは JSON から配列をバインドする方法を知っているので、次のようなものを与えるだけで済みます。

var DealerModel = 
{
  Dealer : 'my_dealer_value_here',
  DealerContact = [] <- a list of Contrats here
}

そして、これはそれを行うべきだと思います。

于 2013-02-01T22:26:42.820 に答える
0

jQuery.post を介して文字列や数値などの単純な値を投稿することから飛躍することに問題がある場合は、上記の Alex がリストしたような json オブジェクトを提供することもできます。

$.ajax({
  type: "POST",
  url: 'MYURL',
  data: {
     Dealer : {id:-1, accountId: '', name:'TheDealer'},
     DealerContact: [{FirstName:'ContactName',...},{...},...]
  }
});

そして、そのデータのビットは、オブジェクトに逆シリアル化する必要があります。

于 2013-02-01T22:34:54.803 に答える