id="form1"
私の要件は、ユーザーが Button をクリックしたときに、フォーム内に直接存在する TextBox と CheckBox の総数をカウントすること'btnGetCount'
です。これは私が試したコードですが、フォームに3つのTextBoxと2つのCheckBoxがありますが、何もカウントせず、カウンターはゼロのままです。ただし、foreach ループを削除TextBox control = new TextBox();
して現在のコードの代わりに渡すと、最初の TextBox がカウントされ、countTB は値を 1 として返します。
protected void btnGetCount_Click(object sender, EventArgs e)
{
Control control = new Control();
int countCB = 0;
int countTB = 0;
foreach (Control c in this.Controls)
{
if (control.GetType() == typeof(CheckBox))
{
countCB++;
}
else if (control is TextBox)
{
countTB++;
}
}
Response.Write("No of TextBoxes: " + countTB);
Response.Write("<br>");
Response.Write("No of CheckBoxes: " + countCB);
}