отправить FormData через Ajax с формой и другими объектами и связать с mvc Model - PullRequest
0 голосов
/ 30 апреля 2020

так что я сейчас работаю над этим, но я не могу найти хороший способ решить эту проблему.

Итак, у меня есть форма и некоторые частичные представления, одно частичное только с личным информация о профессионале, все, что делается с помощью лямбда-выражений и никаких проблем или проблем с этим, другие частичные (+ 4) - это навыки, формации, дипломы и тому подобное о профессионале, поэтому на каждом из этих частичных Пользователь может ввести как 0 или 1000 информации. Таким образом, для хранения этого у меня есть объект для каждого частичного, например, частичный, после того, как пользователь заполняет все обязательные поля, он может нажать кнопку и сохранить ее. Я сохраняю это на объекте с такими же реквизитами, что и его класс. .

Теперь, что касается моей проблемы, единственное рабочее решение, которое я достиг, - это вручную получить все значения из каждого поля формы первого частичного представления, создать объект с таким же именем prop, как у его класса, и в конце добавьте как новый объект другие объекты из других представлений, так что я просто заполняю этот один объект

(Для иллюстрации мой последний объект выглядит примерно так)

professional = { ID: id, Name: name, Age: age, ... , ArrayObject1: objectFromPartial1, ArrayObject2: objectFromPartial2, etc... }

поэтому после создания этого я просто преобразую строку и отправляю через ajax, и в моем контроллере я связываю все это с моей сущностью, а не с моей моделью, потому что при использовании модели я не связываюсь правильно.

Я пытался привязаться к модели, используя FormData(), но дело в том, что когда я пытался проверить, что мой контроллер получал, достаточно забавно, всю информацию от m Форма была привязана правильно, но ObjectArray всегда был = 0, я пробовал много вещей, но ничего не помогло, я оставлю некоторые примеры того, как я пытался добавить массив в de FormData

var form = document.getElementById('frmCadastro');

var formData = new FormData(form);

formData.append("Same Name as the List in my model", JSON.stringify(ObjectArray));

    $.ajax({

        dataType: "json",
        type: "POST",
        data: prof,
        contentType: false,
        processData: false,
        url: '@Url.Action("Save", "Professional")',
        success: function (a) {
            // do something fun
        }

    });

Кто-нибудь знает, что мне делать? Потому что, получая val() из нескольких полей, можно понять, как все работает, но очевидно, что это не оптимально для большого количества данных

ps: форма имеет enctype = "multipart / form-data "

Это показывает Console -> Network, объект добавляется нормально

Controller -> Count = 0

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...