3

Я хочу сохранить все данные формы.ASP.Net Core - Получить все данные формы сообщения

Моя форма имеет эти элементы-

enter image description here

(Использование Postman Plugin)

Мой контроллер похож this-

[HttpPost] 
public async Task<IActionResult> Insert(IFormCollection data) 
{ 
    return Ok(data); 
} 

Итак, я получаю что-то вроде this-

[ 
    { 
    "key": "user_id", 
    "value": [ 
     "'12'" 
    ] 
    }, 
    { 
    "key": "title", 
    "value": [ 
     "123" 
    ] 
    }, 
    { 
    "key": "text[]", 
    "value": [ 
     "werwer", 
     "ghj" 
    ] 
    } 
] 

Я хочу получить значение текстов.

Таким образом, для этого прецедентного

"werwer", 
"ghj" 

Итак, я попытался что-то вроде this-

foreach (string description in data["text"]) 
{ 
    // description => empty 
} 

, а также пытались this-

data.text 

и also-

data->text 

Но ничего не работает для меня.

Может ли кто-нибудь помочь?

Заранее благодарим за помощь.

ответ

3

Почему бы не пройти через каждую клавишу, и если ключ является «текстом», получите значения. Поскольку значение представляет собой разделенную запятыми строку, вы можете вызвать метод Split, чтобы получить массив, который содержит 2 элемента (из вашего образца ввода).

foreach (string description in data.Keys) 
{ 
    if (description.Equals("text")) 
    { 
     var v = data[description]; 
     var stringItems = v.Split(','); 
     foreach (var stringItem in stringItems) 
     { 
      //do something with stringItem 
     } 
    } 
} 

Кстати, ключ должен быть text, не text[]. Даже если у вас есть многословные поля ввода с таким же названием «текст», когда вы отправляете, это будет один ключ ("text") с 2-мя наименованиями. Int he value property

{ 
    "key": "text", 
    "value": [ 
     "werwer", 
     "ghj" 
    ] 
    }