#javascript #asp.net #asp.net-mvc #post #fetch-api
#javascript #asp.net #asp.net-mvc #Публикация #fetch-api
Вопрос:
У меня сложная форма со строками, файлами. И я добавляю в эту форму некоторый JSON / object.В контроллере я не могу обработать свой добавленный объект (продукт), вы можете увидеть его ниже.
Модели
Модель 1. MyData
public string SomeThing { get; set; }
public IEnumerable<Product> Products { get; set; }
public IEnumerable<HttpPostedFileBase> Files { get; set; }
Модель 2. Продукт
public int Id { get; set; }
public int Count { get; set; }
Контроллер
[System.Web.Http.HttpPost]
public HttpStatusCodeResult GetData(MyData data) <== SomeThing-OK.Files-OK,Products-Products[0]
{
//logic
}
JS. Я использую Vue fetch API, но это не сделка.То же самое происходит, когда я использую jQuery.
let form = new FormData(this.$refs.myForm);
form.append('Products', [{ 'Id': 1, 'Count': 2 }]) <== In controller I always get Products[0] =(
fetch('/GetData', {
method: 'post',
body: form
})
})
Я в полном замешательстве. Я не хочу отказываться от использования FormData(). Я могу легко обрабатывать файлы с его помощью. Но мой контроллер не видит никакого сложного (Products) объекта, если я не использую JSON (stringify). Буду благодарен за любые советы.
Комментарии:
1. Данные формы должны быть парами имя / значение.
2. @pcalkins Я это сделал. (имя: ‘Products’, значение: [{ ‘Id’: 1, ‘Count’: 2 }]