gpt4 book ai didi

asp.net-mvc - 从 FormCollection 中获取所有选中的复选框

转载 作者:行者123 更新时间:2023-12-04 15:15:46 24 4
gpt4 key购买 nike

我有一个表单,其中包含一大堆复选框和一些其他类型的控件。我需要检索每个选定复选框的名称。

做这个的最好方式是什么?我可以用 linq 查询来做吗?

所以在伪代码中,我希望做这样的事情:

var names = formCollection
.Where(c => c is Checkbox && c.Checked)
.Select(c => c.Name);

更新 MVC 提交复选框的方式似乎与普通表单的行为方式不同,因为还呈现了隐藏字段。我在这里找到了详细信息: How to handle checkboxes in ASP.NET MVC forms?

Anywho,我已经在该线程的帮助下以及下面来自 BuildStarted 的答案下开始工作了。下面的代码成功了。
var additionalItems = form.AllKeys
.Where(k => form[k].Contains("true") && k.StartsWith("addItem"))
.Select(k => k.Substring(7));

最佳答案

不幸的是,该类型的信息在集合中不可用。但是,如果您在所有复选框前加上 <input type='checkbox' name='checkbox_somevalue' /> 之类的内容然后你可以运行一个查询

var names = formCollection.AllKeys.Where(c => c.StartsWith("checkbox"));

由于只会回发已检查的值,因此您无需验证它们是否已检查。

这是一个只抓取检查值的
var names = formCollection.AllKeys.Where(c => c.StartsWith("test") && 
formCollection.GetValue(c) != null &&
formCollection.GetValue(c).AttemptedValue == "1");

关于asp.net-mvc - 从 FormCollection 中获取所有选中的复选框,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3831606/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com