jquery から MVC コントローラーにオブジェクトを投稿しようとしています。オブジェクトは正常に渡されますが、すべてのプロパティが null (または bool の場合は false) です。
fwiw、JSON.stringify myObect を実行すると、まったく渡されず、コントローラー内の theObect が null になります。
MVC4、.net 4.5、jQuery 1.9.1 を使用しています
どんな助けでも感謝します。
jQuery 関数
var myObject =
{
Property1: true,
Proerty2: true
};
$.ajax({
type: 'POST',
url: '/myController/StartProcess/',
data: { theObject: myObject }
});
コントローラ
private async void StartProcess(myObject theObject)
{
// theObect can be seen successfully but property1 and property2 are false
// if I change them to strings they are null
...
}
クラス
public class myObject
{
public bool Property1 { get; set; }
public bool Property2 { get; set; }
}
編集:
解決策は次のとおりです。
$.ajax({
type: 'POST',
url: '/myController/StartProcess/',
data: myObject
});
なぜこれが機能し、他に何も機能しないのかについて誰かが光を当てることができれば、それは大歓迎です。すべてのパラメーターを myObject に配置する必要があるため、これは優れたソリューションではありません。この手法を使用して追加のパラメーターを渡すことはできません。また、公式のチュートリアルを含め、オンラインで見つけたすべての情報が JSON.Strinify(myObect) というデータを使用すると言っている理由についても興味がありますが、これにより myObject のすべてのプロパティが null (または false) になります。
それでも咆哮のおかげで、少なくとも私はこれを乗り越えることができます。