0
を持っていますか?私はどこか間抜けミスを作ってるんだと確信しているが、ここでのシナリオは次のとおりです。
私はMVCコントローラに$ http.postをコミット
$ http.post方法:
return $http.post("/Api/Form/Create/Save/DraftForm/", {"Model":"test"});
MVCモデル
public class FormViewModel
{
public string Model { get; set; }
}
MVCコントローラ
[HttpPost, Route("Api/Form/Create/Save/DraftForm")
public ActionResult Create_Save_DraftForm(FormViewModel model)
{
....
}
someObjがコントローラに到達するまでには、nullです。
私は「ViewModelに」のようなものにコントローラ「モデル」内のパラメータの名前を変更する場合は、それが正常に動作します。
[HttpPost, Route("Api/Form/Create/Save/DraftForm")
public ActionResult Create_Save_DraftForm(FormViewModel viewModel)
{
....
}
Shyjuが述べたように、私はまた、別の名前にJSONオブジェクト内の「モデル」プロパティの名前を変更することができますし、それは同様に動作します:
public class FormViewModel
{
public string AnotherModel { get; set; }
}
return $http.post("/Api/Form/Create/Save/DraftForm/", {"AnotherModel":"test"});
は、モデルバインダーのバグかもしれません!あなたのプロパティの名前を特定の名前に変更すると、それは動作します(例:CarModel) – Shyju
これまでのところ私の解決策でした。 Modelバインダーのバグか、Modelバインダーを不適切に使用しています。私が推測しなければならないのは、後者だと言えるでしょう。 –
私はオブジェクトに別のレベルを追加しようと思っているかもしれないと言われていますが、私はそれに運がありませんでした。 –