我有一個表單,其中也包含一大堆複選框和一些其他類型的控件。我需要檢索每個選中的複選框的名稱。從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