我有一个表单,其中也包含一大堆复选框和一些其他类型的控件。我需要检索每个选中的复选框的名称。从FormCollection获取所有选中的复选框
这样做的最好方法是什么?我可以用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));
感谢您的信息。我通常只是使用内置的模型绑定,并且从来没有真正看过有关复选框的输出到html的详细信息。 – Buildstarted 2010-09-30 15:42:29