怎么算总数没有。 asp.net复选框,复选框选中,否。使用vb.net在webform中保持未选中的复选框?

时间:2010-12-09 04:12:16

标签: asp.net vb.net

如何计算总数。 asp.net复选框,复选框选中,否。使用vb.net在webform中保持未选中复选框?

我使用Visual Studio 2008,vb作为语言..

我的webform我有10个复选框......

我想算总数没有。 textboxes1中webform中的复选框 总数没有。在textbox2中的webform中检查的复选框 总数没有。复选框在textbox3中的webform中保持未选中状态

2 个答案:

答案 0 :(得分:1)

这是一个示例C#代码,您可以从中轻松开发VB代码。

private int mTotal;
private int mChecked;

private void EnumerateCheckBoxes(Control control)
{
   if (control is CheckBox)
   {
     mTotal++;
     mChecked += ((CheckBox)control).Checked ? 1 : 0;
   }
   else if (control.HasControls())
   {
     foreach(var c in control.Controls) 
     {
       EnumerateCheckBoxes(c);
     }
   }
}

protected void Page_Load(Object sender, EventArgs e)
{
   mTotal = 0;
   mChecked = 0;
   EnumerateCheckBoxes(this.Form);
   textbox1.Text = mTotal.ToString();
   textbox2.Text = mChecked.ToString();
   textbox3.Text = (mTotal - mChecked).ToString();
}

很少有事情需要考虑:

  1. 此代码将计算单选按钮以及因为它从CheckBox继承而来。如果要避免这种情况,请将if (control is CheckBox)替换为if (control.GetType() == typeof(CheckBox))
  2. 如果您想考虑CheckBoxList中的复选框,则必须编写另一个条件以查看控件是否为CheckBoxList,然后在条件内,使用checkboxlist枚举项目。项目计数将添加到总计数中,而选定项目将添加到已检查计数。

答案 1 :(得分:0)

Dim intTotalCheckBoxes as Integer = 0
Dim intCheckBoxesChecked as Integer = 0
Dim intCheckBoxesUnChecked as Integer = 0

For Each chkbox as Checkbox in Page.Controls

If chkbox.Checked Then

   intCheckBoxesChecked += 1

Else

   intCheckBoxesUnChecked += 1

End If

intTotalCheckBoxes += 1

Next

如果您的页面上有包含复选框的控件,并且需要知道如何以递归方式包含这些控件,请添加注释,我将编辑代码。否则,这应该可以解决问题。