要是知道所有id的话就TextBox.ReadOnly=True;
不知道的话就只能用个循环了

解决方案 »

  1.   

    public bool ProcLockControls(System.Web.UI.ControlCollection cllObj)
    {
    try
    {
    TextBox txtCtl;
    foreach (Control ctl in cllObj)
    {
    (ctl.ToString()=="System.Web.UI.HtmlControls.HtmlForm")
    {
    foreach (Control ctlItem in ctl.Controls)
    {

    if (ctlItem.ToString()=="System.Web.UI.WebControls.TextBox")
    {
    txtCtl=(TextBox)ctlItem;
    txtCtl.ReadOnly=true;
    }

    }
    }
                      } return true;
    }
    catch(Exception Ex)
    {
    return false;
    }
    }
      

  2.   

    foreach(Control ctl in panel.Controls)//用循环的方法历边panel的所有控件
    {
        switch(ctl.GetType().ToString())
    {
    case "System.Web.UI.WebControls.TextBox":
            ((TextBox)ctl).ReadOnly = false; break; default: break;
    }
    }
      

  3.   

    foreach(Control clt in page.FindControl("Form1").Controls)
    {
    switch (clt.GetType().ToString())
    {
    case "System.Web.UI.WebControls.TextBox":
    if (((TextBox)clt).ID != "txtsInUseDept")
    ((TextBox)clt).ReadOnly = (!flag);
    break;
    }