私は次のようなjsオブジェクトビルドを持っています:
var entity = new Object();
entity["1"] = Property1.GetValue();
entity["2"] = Property2.GetValue();
entity["3"] = Property3.GetValue();
entity["4"] = Property4.GetValue();
entity["5"] = Property5.GetValue();
entity["6"] = Property6.GetValue();
entity["7"] = Property7.GetValue();
entity["8"] = Property8.GetValue();
entity["9"] = Property9.GetValue();
entity["10"] = Property10.GetValue();
entity["11"] = Property11.GetValue();
entity["12"] = Property12.GetValue();
entity["13"] = Property13.GetValue();
entity["14"] = Property14.GetValue();
entity["15"] = Property15.GetValue();
そして、私は次のように投稿しています:
var data = JSON.stringify(
{
entityID: 1,
data: entity
});
$.ajax({
type: "POST",
url: "/Entity/Update",
data: data,
contentType: "application/json",
traditional: true,
success: function (data) {
alert("koko");
},
error:function (xhr, ajaxOptions, thrownError) {
alert(xhr.status);
alert(ajaxOptions);
alert(thrownError);
}
});
投稿はありますが、MVC コントローラーはデータ パラメーターの null パラメーターを取得します。
MVC メソッド:
public void Update(int entityID, IDictionary<string, object> data)
問題は、値が文字列や整数だけでなく、さまざまな型になる可能性があることです。それが問題です。デフォルトのモデル バインダーにオブジェクトを適切に読み取らせる方法はありますか、それともカスタム モデル バインダーを作成する必要がありますか?