[ASP.NET]后台枚举控件

在后台用C#枚举控件不像javascript那么简单,HasControls只能抓到直属下级的控件,如果有多个div,table嵌套,就要递归了

 

 public static void CloseAllContent(System.Web.UI.Control page,bool bOpen)
    {
        int nPageControls = page.Controls.Count;
        for (int i = 0; i < nPageControls; i++)
        {
             foreach (System.Web.UI.Control control in page.Controls[i].Controls)
             {
                if (control.HasControls())
                {
                     CloseAllContent(control,bOpen);

                }
                 else
                {
                    if (control is TextBox)
                    {
                       // (control as TextBox).Text = "";
                        (control as TextBox).Enabled = bOpen;
                    }

                    if (control is CheckBox)
                    {
                      //  (control as CheckBox).Checked = false;
                        (control as CheckBox).Enabled = bOpen;
                    }

                    if (control is RadioButtonList)
                    {
                        //(control as RadioButtonList).SelectedIndex = -1;
                        (control as RadioButtonList).Enabled = bOpen;
                    }

                    if (control is RadioButton)
                    {
                    //    (control as RadioButton).Checked = false;
                        (control as RadioButton).Enabled = bOpen;

                    }

                    if (control is CheckBoxList)
                    {
                        foreach (ListItem item in (control as CheckBoxList).Items)
                       {
                           item.Selected = bOpen;
                       }
                    }

                    if (control is Button)
                    {
                        (control as Button).Enabled = bOpen;
                    }
                }//if..else
            }//foreach
        }//for
           

    }

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值