asp.net mvc 4 -无法反序列化表单数据错误!无效的JSON原语



我无法反序列化我的JASON Serialized FormData

请查看我的代码

///here its my JSON  
$("#btn_pro_spc").click(function () {
  var formdata = $("#Product_spec_from").serialize();
  $.ajax({
               url: '@Url.Action("UpdateProductSpecification", "LC_LabChecking")',
               type: 'POST',
               data: { formdata : formdata },
               datatype:'json',
                success: function (data) {
                                  }
            });
});

///here it controller
 public JsonResult UpdateProductSpecification(string formdata)
        {
            JavaScriptSerializer jss = new JavaScriptSerializer();
            LabCheckingModel LCModel = jss.Deserialize<LabCheckingModel>(formdata);
            return Json(jss);
        }

我正在获得完美的序列化数据,但无法反序列化:(无效的JSON原语

没有必要使用use JavaScriptSerializer来反序列化您的模型。DefaultModelBinder将为您完成这一切。将脚本更改为

$("#btn_pro_spc").click(function () {
  $.ajax({
    url: '@Url.Action("UpdateProductSpecification", "LC_LabChecking")',
    type: 'POST',
    data: $("#Product_spec_from").serialize(), // change this
    datatype:'json',
    success: function (data) {
    }
  });
});
并将控制器方法改为
public JsonResult UpdateProductSpecification(LabCheckingModel model)
{
  // the value of model will be correctly bound
  return return Json(??);
}

旁注:不确定你要返回的是什么(目前它是JavaScriptSerializer的一个实例,这没有意义)

最新更新