c# – .net核心为什么我可以单独通过密钥获得IFormCollection
发布时间:2020-12-15 23:40:20 所属栏目:百科 来源:网络整理
导读:让我说我有一个 form method="post" action"/user/create" input type="text" name="FirstName" placeholder="FirstName" / button type="submit"Submit/button/form 我想在我的action方法中访问我的输入值FirstName. public IActionResult Create(IFormColl
让我说我有一个
<form method="post" action"/user/create"> <input type="text" name="FirstName" placeholder="FirstName" /> <button type="submit">Submit</button> </form> 我想在我的action方法中访问我的输入值FirstName. public IActionResult Create(IFormCollection form) { string FirstName = form.Keys["FirstName"]; return View(); } 它给出错误“无法将[]索引应用于ICollection类型的表达式” 我知道我可以迭代并输入一个if语句,但我发现需要这么多代码.我刚刚开始学习c#,但在Node.js和Python中很容易获得表单的值,例如在节点中. request.body.FirstName; 而已.我正在寻找类似的东西,没有迭代或创建一个poco类. 谢谢. 解决方法
简单的答案
您可以使用form [“FirstName”]或form.Get(“FirstName”). 编辑:你提到过,你不想创建一个poco. 原创内容: 我更喜欢创建一个类(如person,具有FirstName属性)并使用内置序列化的优势. 如果您的表单参数如下所示: { "FirstName": "John","LastName": "Doe" } 然后你的班级应该是: public class Person { public string FirstName {get;set;} public string LastName {get;set;} } 你的创建方法应该是这样的 public IActionResult Create([FromForm]Person p) { string FirstName = p.FirstName; } 它会自动将表单参数解析为Person对象. 什么干净的阅读形式params,不是吗;-)? (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |