MVC Ajax Jquery发布两种不同类型的对象

MVC Ajax Jquery发布两种不同类型的对象,jquery,asp.net-mvc,knockout.js,Jquery,Asp.net Mvc,Knockout.js,我正在做类似的事情,但我有一个对象和其他FormData要传递给我的控制器 var discrepancy = self.newCptyReply(); if ($('#UploadFile')[0]) { var upload = new FormData(), file = $('#UploadFile')[0].files[0]; upload.append('id', self.globalMessageId());

我正在做类似的事情,但我有一个对象和其他FormData要传递给我的控制器

  var discrepancy = self.newCptyReply(); 
    if ($('#UploadFile')[0]) {
        var upload = new FormData(),
            file = $('#UploadFile')[0].files[0];

        upload.append('id', self.globalMessageId());
        upload.append('discrepancy', ko.toJSON(discrepancy));
        upload.append('doc', file); 


    }           

    datacontext.saveCptyToReply(self, upload);
和控制器签名

  public ActionResult SaveCptyToReply(Guid id, Tobject discrepancy, HttpPostedFileBase doc)
但当它到达控制器id时,文档正常,但差异为空。。。调用function时,它有数据


怎么做…

你在使用Knockout.js吗?是的。。。我正在使用knockout.js。现在我已经修复了两个控制器调用的问题,第一个是id和文件,第二个是数据保存对象。但这是对性能的影响。。