1
我有多個單獨的複選框(50)。選中複選框的計數數量
這樣的:
<asp:CheckBox runat="server" ID="chkBirthDate" />
我需要知道用戶有多少複選框選中(計數)。如果他選擇超過3個,我會讓他通過,如果沒有,我會給他一個錯誤信息。
在此先感謝!
我有多個單獨的複選框(50)。選中複選框的計數數量
這樣的:
<asp:CheckBox runat="server" ID="chkBirthDate" />
我需要知道用戶有多少複選框選中(計數)。如果他選擇超過3個,我會讓他通過,如果沒有,我會給他一個錯誤信息。
在此先感謝!
LINQ方法
你可以通過使用OfType<T>()
的方法來獲取您的所有個人CheckBox控件,然後使用一個Count()
電話,看看有多少實際進行了檢查利用LINQ的查詢能力:
// Get the number of CheckBox Controls that are checked
var checkedBoxes = Form.Controls.OfType<CheckBox>().Count(c => c.Checked);
// Determine if your specific criteria is met
if(checkedBoxes > 3)
{
// You shall pass!
}
else
{
// None shall pass
}
你需要確保你有LINQ的引用這個工作以及通過包括以下using語句:
using System.Linq;
迭代環接方法
或者,可以簡單地循環通過並且相應地遞增計數經由foreach
環如下所示:
// Store your count
var checkedBoxes = 0;
// Iterate through all of the Controls in your Form
foreach(Control c in Form.Controls)
{
// If one of the Controls is a CheckBox and it is checked, then
// increment your count
if(c is CheckBox && (c as CheckBox).Checked)
{
checkedBoxes++;
}
}
實施例(帶輸出)
它不承認我的OfType。我需要使用一些嗎? –
嘗試通過'using System.Linq;'添加對LINQ的引用。 –
我需要替換一些東西嗎?因爲它不包括任何選中的複選框 –