Я пытаюсь связать модель, полученную от вызова Ajax, но это не работает. Может быть, кто-то может мне помочь?
Я вызываю действие ValidateFile, используя Ajax
$.ajax({
url: '@Url.Action("ValidateFile", "Converter")',
data: ({ file: fileName, formData: serializedForm }),
type: 'POST',
success: function (response) {
if (response.result) {
} else {
RemoveFile(fileName);
}
}
});
Fiddler показывает такой запрос
file=!!!SP+Design!!!.txt&formData%5BEmail%5D=tomas%40mydomain.com
Я получаю данные в своем действии с заполненным параметром file
, но свойство formData.Email
всегда Null
[HttpPost]
public JsonResult ValidateFile(string file, UploadOptionModel formData)
{
}
Моя UploadOptionModel
модель
namespace PC.Models
{
public class UploadOptionModel
{
public string Email { get; set; }
}
}
Форма, которую я пытаюсь сериализовать
@model PC.Models.UploadOptionModel
@using (Html.BeginForm())
{
@Html.EditorFor(p => p.Email)
}
Функция сериализации JS
function serializeForm() {
var data = $("form").serializeArray();
var formData = {};
for (var i = 0; i < data.length; i++) {
formData[data[i].name] = data[i].value;
}
return formData;
}