ASP.Net Core - 获取帖子表单的所有数据
Posted
技术标签:
【中文标题】ASP.Net Core - 获取帖子表单的所有数据【英文标题】:ASP.Net Core - Get All data of a post form 【发布时间】:2016-12-29 03:49:58 【问题描述】:我想保存一个表单的所有数据。
我的表单有这些元素-
(使用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
但对我没有任何作用。
有人可以帮忙吗?
提前感谢您的帮助。
【问题讨论】:
【参考方案1】:为什么不遍历每个键,如果键是“文本”,则获取值。由于该值是逗号分隔的字符串,因此您可以对其调用 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"
),其 value 属性中有 2 个项目
"key": "text",
"value": [
"werwer",
"ghj"
]
【讨论】:
以上是关于ASP.Net Core - 获取帖子表单的所有数据的主要内容,如果未能解决你的问题,请参考以下文章
在 ASP.NET CORE 表单中使用 AJAX 返回 JSON
Asp.Net MVC 5 Jquery 验证不适用于带有提交事件的 ajax 帖子,显示为有效表单
如何在 ASP.NET Core API 控制器中获取多个表的记录