У меня есть метод действия, который получает сложный объект JSON от клиента. Я сериализую этот объект на стороне клиента и из-за сложности не могу (не хочу) использовать форму отправки для публикации данных.
Мне также нужно иметь возможность отправлять файлы вместе с этим запросом ajax. Мой метод действия работает отлично и связывает объект JSON (фактически список объектов) просто отлично, используя jQuery.ajax (). Когда я перехожу к плагину ajax формы , чтобы я мог отправлять файлы, разрывается привязка объекта. Я пытаюсь отправить форму с помощью плагина и отправить свой объект вместе с дополнительными данными. Метод действия больше не видит мой объект.
Есть мысли о том, как разместить JSON и файлы вместе в одном методе действия?
Вот метод jQuery.ajax (), который работает. Здесь нет формы для отправки, это просто отправка данных JSON на сервер
$.ajax({
url: "/Controller/Create2",
type: 'POST',
data: JSON.stringify(model),
dataType: 'json',
contentType: 'application/json, charset=utf-8',
beforeSend: function () {
},
success: function (data) {
},
error: function () {
}
});
Метод My Action прекрасно обрабатывает список объектов.
public ActionResult Create2(List<CreateModel> model)
{
//Do stuff
}
Но когда я отправляю ajax в форму и добавляю данные, модель возвращается к нулю.
f.ajaxSubmit({
url: "/Controller/Create2",
type: "POST",
data: JSON.stringify(model),
dataType: 'json',
contentType: 'application/json, charset=utf-8',
beforeSend: function () {
},
success: function (data) {
},
error: function (data) {
}
});
Мне нужно сохранить функциональность привязки к объектам JSON в методе действия. Означает ли это, что я должен отказаться от публикации файлов?