ASP.Net 核心 - 获取 post 表单的所有数据
ASP.Net Core - Get All data of a post form
我想保存一个表单的所有数据。
我的表格有这些元素-
(使用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"
]
}
]
我想获取 texts 的值。
所以,对于这种情况-
"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
,而不是 text[]
。即使您有多个具有相同名称 "text" 的输入字段,当您提交时,它也将是一个键 ("text"
),其中包含 2 个值 属性
{
"key": "text",
"value": [
"werwer",
"ghj"
]
}
我想保存一个表单的所有数据。
我的表格有这些元素-
(使用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"
]
}
]
我想获取 texts 的值。
所以,对于这种情况-
"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
,而不是 text[]
。即使您有多个具有相同名称 "text" 的输入字段,当您提交时,它也将是一个键 ("text"
),其中包含 2 个值 属性
{
"key": "text",
"value": [
"werwer",
"ghj"
]
}