设置页面所有控件只读

 /// <summary>
        /// 设置当前页面上的所有可输入和选择的控件为只读属性
        /// </summary>
        /// <param name="page"></param>
        public static void SetControlReadOnly(Page page)
        {

            foreach (Control ctrl in page.Controls)
            {
                SetControlReadOnly(ctrl);

            }
        }




        //递归调用。设置控件只读。
        public static void SetControlReadOnly(Control ctr)
        {
            if (ctr is TextBox)
            {
                TextBox txtControl = (TextBox)ctr;
                txtControl.ReadOnly = true;
                txtControl.Enabled = false;

            }
            else if (ctr is RadioButton)
            {
                RadioButton btn = (RadioButton)ctr;
                btn.Enabled = false;

            }
            else if (ctr is RadioButtonList)
            {
                RadioButtonList btn = (RadioButtonList)ctr;
                btn.Enabled = false;
            }

            else if (ctr is CheckBox)
            {
                CheckBox cb = (CheckBox)ctr;
                cb.Enabled = false;
            }
            else if (ctr is DropDownList)
            {
                DropDownList list = (DropDownList)ctr;
                list.Enabled = false;
            }

            else if (ctr is HtmlTextArea)
            {
                HtmlTextArea cb = (HtmlTextArea)ctr;
                cb.Attributes.Add("readonly", "");
                cb.Disabled = true;
            }
            else if (ctr is HtmlSelect)
            {
                HtmlSelect rb = (HtmlSelect)ctr;
                rb.Disabled = true;
            }

            else if (ctr is HtmlInputCheckBox)
            {
                HtmlInputCheckBox rb = (HtmlInputCheckBox)ctr;
                rb.Disabled = true;
            }
            else if (ctr is HtmlInputRadioButton)
            {
                HtmlInputRadioButton rb = (HtmlInputRadioButton)ctr;
                rb.Disabled = true;
            }
            else if (ctr is HtmlInputText)
            {
                HtmlInputControl input = (HtmlInputControl)ctr;
                input.Attributes.Add("readonly", "");
                input.Disabled = true;
            }
            else
                foreach (Control ctr1 in ctr.Controls)
                {
                    SetControlReadOnly(ctr1);
                }
        }


/// <summary>   
       /// 取消只读属性   
       /// </summary>   
       /// <param name="page">要操作的页面,一般传this</param>   
       /// <param name="ControlID">控件ID</param>   
       public static void RemoveReadOnlyByID(Page page, string ControlID)   
       {   
  
           Control ctr = page.FindControl(ControlID);   
           if (ctr is TextBox)   
           {   
               TextBox txtControl = (TextBox)ctr;   
               txtControl.ReadOnly = false;   
               txtControl.Enabled = true;   
  
           }   
           else if (ctr is RadioButton)   
           {   
               RadioButton btn = (RadioButton)ctr;   
               btn.Enabled = true;   
  
           }   
  
           else if (ctr is CheckBox)   
           {   
               CheckBox cb = (CheckBox)ctr;   
               cb.Enabled = true;   
           }   
           else if (ctr is DropDownList)   
           {   
               DropDownList list = (DropDownList)ctr;   
               list.Enabled = true;   
           }   
  
           else if (ctr is HtmlTextArea)   
           {   
               HtmlTextArea cb = (HtmlTextArea)ctr;   
               cb.Attributes.Remove("readonly");   
               cb.Disabled = false;   
           }   
           else if (ctr is HtmlSelect)   
           {   
               HtmlSelect rb = (HtmlSelect)ctr;   
               rb.Disabled = false;   
  
           }   
  
           else if (ctr is HtmlInputCheckBox)   
           {   
               HtmlInputCheckBox rb = (HtmlInputCheckBox)ctr;   
               rb.Disabled = false;   
           }   
           else if (ctr is HtmlInputRadioButton)   
           {   
               HtmlInputRadioButton rb = (HtmlInputRadioButton)ctr;   
               rb.Disabled = false;   
           }   
           else if (ctr is HtmlInputText)   
           {   
               HtmlInputControl input = (HtmlInputControl)ctr;   
               input.Attributes.Remove("readonly");   
               input.Disabled = false;   
           }   
  
       }  

原文地址:https://www.cnblogs.com/CCJVL/p/1672723.html