コントローラーパラメーターでバインディングを使用しないように意図的に試みているため、次のようなコントローラーがあります。
[HttpPost]
public ActionResult UntypedForm(String serializedformdata)
{
//// ...
}
以下のコードを使用して、シリアル化された JSON フォーム要素をコントローラーに投稿すると:
var formelements = $('#form').serializeArray();
$.post(url, formelements, function (data) {
}, "json").error(function () {
alert("Error posting to " + url);
});
コントローラーで String serializedformdata の NULL 値を取得します。ただし、 String serializedformdata を厳密に型指定されたオブジェクトに置き換えると、バインドは期待どおりに正しく機能します。
私のコントローラーの全体的なポイントは、BSON ドキュメントを作成して Mongo データベースに配置する、一般的な JSON 投稿です。SO ....私は意図的にモデルバインディングを望んでおらず、シリアル化された文字列をパマメーターとして望んでいます。投稿時に serializedformdata 文字列が null になるのはなぜですか?
注 - 私も Dictionary にバインドしようとしました
public ActionResult UntypedForm(Dictionary<string,string> serializedformdata)
{
//// ...
}
しかし、serializedformdata はまだ null です。