加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 编程开发 > asp.Net > 正文

ASP.Net核心 – 获取帖子表格的所有数据

发布时间:2020-12-15 20:51:27 所属栏目:asp.Net 来源:网络整理
导读:我想保存表单的所有数据. 我的表格有这些元素 – (使用Postman Plugin) 我的控制器是这样的 – [HttpPost]public async TaskIActionResult Insert(IFormCollection data){ return Ok(data);} 所以,我得到这样的东西 – [ { "key": "user_id","value": [ "'12
我想保存表单的所有数据.

我的表格有这些元素 –

(使用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"
    ]
  }

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读