我故意尝试不在控制器参数中使用绑定,所以我有一个看起来像这样的控制器:
[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 时,绑定按预期正常工作。
我的控制器的重点是通用 JSON 帖子,我将在其中创建一个 BSON 文档以放入 Mongo 数据库。所以....我故意不想要模型绑定,我想要序列化的字符串作为参数。为什么我发布时我的 serializedformdata 字符串为空?
注意 - 我也尝试绑定到 Dictionary with
public ActionResult UntypedForm(Dictionary<string,string> serializedformdata)
{
//// ...
}
但 serializedformdata 仍然为空。