写的一个递归处理程序。方便以后重复使用 mark 一下

  private void DisEnableControls(Control control)
        {
            foreach (Control ctrol in control.Controls)
            {
                if (ctrol is WebControl)
                {
                    if (ctrol is System.Web.UI.WebControls.DropDownList || ctrol is System.Web.UI.WebControls.TextBox || ctrol is System.Web.UI.WebControls.RadioButtonList || ctrol is System.Web.UI.WebControls.RadioButton || ctrol is System.Web.UI.WebControls.CheckBox)
                    {
                        ((WebControl)ctrol).Enabled = false;
                    }
                }

                if (ctrol is MultiView && ((MultiView)ctrol).Views.Count > 0)
                {
                    DisEnableControls(((MultiView)ctrol).Views[((MultiView)ctrol).ActiveViewIndex]);
                }

                if (ctrol is Panel)
                {
                    DisEnableControls(ctrol);
                }
                if (ctrol is System.Web.UI.HtmlControls.HtmlTable)
                {
                    DisEnableControls(ctrol);
                }

                if (ctrol is Literal)
                {
                    if (ctrol.ID == "lt_RateContros")
                    {
                        ((Literal)ctrol).Text = ((Literal)ctrol).Text.Replace("<select disabled=\"disabled\"", "<select").Replace("<select", "<select disabled=\"disabled\"");

                    }

                }

                if (ctrol is System.Web.UI.HtmlControls.HtmlTableRow)
                {
                    DisEnableControls(ctrol);
                }

                if (ctrol is System.Web.UI.HtmlControls.HtmlTableCell)
                {
                    DisEnableControls(ctrol);
                }
                if (ctrol is UserControl)
                {
                    DisEnableControls((UserControl)ctrol);
                }
            }
        }

 

        private void ClearAlterMessageForControls(Control control)
        {
            foreach (Control ctrol in control.Controls)
            {
                if (ctrol is WebControl)
                {
                    if (ctrol is System.Web.UI.WebControls.DropDownList || ctrol is System.Web.UI.WebControls.TextBox || ctrol is System.Web.UI.WebControls.RadioButtonList || ctrol is System.Web.UI.WebControls.RadioButton || ctrol is System.Web.UI.WebControls.CheckBox || ctrol is System.Web.UI.WebControls.LinkButton || ctrol is System.Web.UI.WebControls.CheckBox)
                    {
                        #region No alert controls

                        if (ctrol is System.Web.UI.WebControls.DropDownList)
                        {
                            DropDownList _tempctrol = ctrol as DropDownList;
                            if (_tempctrol.AutoPostBack)
                            {
                                _tempctrol.Attributes.Add("onclick", "isshowmessage=false;");
                            }
                        }


                        if (ctrol is System.Web.UI.WebControls.TextBox)
                        {
                            TextBox _tempctrol = ctrol as TextBox;
                            if (_tempctrol.AutoPostBack)
                            {
                                _tempctrol.Attributes.Add("onclick", "isshowmessage=false;");
                            }
                        }

                        if (ctrol is System.Web.UI.WebControls.CheckBox)
                        {
                            CheckBox _tempctrol = ctrol as CheckBox;
                            if (_tempctrol.AutoPostBack)
                            {
                                _tempctrol.Attributes.Add("onclick", "isshowmessage=false;");
                            }
                        }

                        if (ctrol is System.Web.UI.WebControls.LinkButton)
                        {
                            LinkButton _tempctrol = ctrol as LinkButton;
                            _tempctrol.Attributes.Add("onclick", "isshowmessage=false;");
                        }

                        if (ctrol is System.Web.UI.WebControls.RadioButtonList)
                        {
                            RadioButtonList _tempctrol = ctrol as RadioButtonList;
                            if (_tempctrol.AutoPostBack)
                            {
                                _tempctrol.Attributes.Add("onclick", "isshowmessage=false;");
                            }
                        }


                        if (ctrol is System.Web.UI.WebControls.RadioButton)
                        {
                            RadioButton _tempctrol = ctrol as RadioButton;
                            if (_tempctrol.AutoPostBack)
                            {
                                _tempctrol.Attributes.Add("onclick", "isshowmessage=false;");

                            }
                        }

                        if (ctrol is System.Web.UI.HtmlControls.HtmlAnchor)
                        {
                            HtmlAnchor _tempctrol = ctrol as HtmlAnchor;
                            _tempctrol.Attributes.Add("onclick", "isshowmessage=false;");
                        }

                        #endregion
                    }
                }

                if (ctrol is MultiView && ((MultiView)ctrol).Views.Count > 0)
                {
                    ClearAlterMessageForControls(((MultiView)ctrol).Views[((MultiView)ctrol).ActiveViewIndex]);
                }
                if (ctrol is Panel)
                {
                    ClearAlterMessageForControls(ctrol);
                }


                if (ctrol is UserControl)
                {
                    ClearAlterMessageForControls((UserControl)ctrol);
                }
            }
        }

posted on 2012-07-27 14:23  西湖浪子  阅读(301)  评论(1)    收藏  举报