我想保存表单的所有数据.
我的表格有这些元素 –
(使用Postman Plugin)
我的控制器是这样的 –
[HttpPost] public async Task<IActionResult> Insert(IFormCollection data) { return Ok(data); }
所以,我得到这样的东西 –
[ { "key": "user_id","value": [ "'12'" ] },{ "key": "title","value": [ "123" ] },{ "key": "text[]","value": [ "werwer","ghj" ] } ]
我想获得文本的价值.
所以,对于这种情况 –
"werwer","ghj"
所以,我尝试过这样的事情 –
foreach (string description in data["text"]) { // description => empty }
并试过这个 –
data.text
并且-
data->text
但没有什么对我有用.
有人可以帮忙吗?
在此先感谢您的帮助.
解决方法
为什么不遍历每个键,如果键是“text”,则获取值.由于该值是逗号分隔的字符串,因此可以在其上调用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”的多个输入字段,当你提交时,它将是一个带有2个项目的单个键(“text”)int value value
{ "key": "text","ghj" ] }