【发布时间】:2019-04-30 15:28:28
【问题描述】:
我正在尝试将对象列表从我的视图发送到控制器。每个对象都有一个文件以及其他一些属性。 这是模型:
public class FilesUploadModel
{
public HttpPostedFileBase file { get; set; }
public string fileTaskId { get; set; }
public bool upload { get; set; }
public bool read { get; set; }
public bool import { get; set; }
public bool isReupload { get; set; }
public int fileReadId { get; set; }
}
控制器:
public ActionResult FileSave(List<FilesUploadModel> models)
{}
这就是我尝试将列表发送到控制器的方式:
var filesUploadModel = [];
function someFn(){
var uploadModel = {
file = someInput.files[0]
fileTaskId: "2563",
upload: true,
read: true,
import: true,
isReupload: false,
fileReadId: 0
}
filesUploadModel.push(uploadModel);
}
function UploadFiles(){
var formData = new FormData();
filesUploadModel.forEach(function (model) { //filesUploadModel is the list
formData.append('models', model);
});
$.ajax({
url: "/Company/FileSave",
type: 'POST',
enctype: 'multipart/form-data',
processData: false,
contentType: false,
data: formData,
complete: function (data) {
}
});
}
但我无法在控制器中接收数据。无法解决这里的问题。
【问题讨论】:
-
您是否收到错误消息?调试服务器端得到什么?
-
@Sagivb.g 我只是在服务器端得到一个空列表。
-
其他值可以吗?
-
我只是发送 FilesUploadModel 对象的列表,它在服务器端是空的。因此,不会有任何其他值。
标签: javascript c# jquery asp.net ajax