我想保存表单的所有数据.
我的表格有这些元素 –
(使用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"
]
}
