none
C#如何获取特定表下的所有控件? RRS feed

  • 问题

  • 在asp页面中定义了多个table,每一个table中有很多控件。
    获取整个页面的控件我知道,但
    如何在CS中取得某个table中的所有控件,以及某种类型(如:TextBox)的控件呢?
    2009年6月3日 6:03

答案

  • // 假定已知一个Table, fTable
    // 现在我们将所有 TextBox 放到 List 数组中
    Table fTable = new Table();
    List<TextBox> fList = new List<TextBox>();
    
    for (int i = 0; i < fTable.Rows.Count; i++)
    {
        for (int j = 0; j < fTable.Rows[i].Cells.Count; j++)
        {
            foreach (Control fControl in fTable.Rows[i].Cells[j].Controls)
            {
                if (fControl is TextBox)
                {
                    fList.Add((TextBox)fControl);
                }
            }
        }
    }       

    知识改变命运,奋斗成就人生!
    2009年6月3日 6:09
    版主

全部回复

  • // 假定已知一个Table, fTable
    // 现在我们将所有 TextBox 放到 List 数组中
    Table fTable = new Table();
    List<TextBox> fList = new List<TextBox>();
    
    for (int i = 0; i < fTable.Rows.Count; i++)
    {
        for (int j = 0; j < fTable.Rows[i].Cells.Count; j++)
        {
            foreach (Control fControl in fTable.Rows[i].Cells[j].Controls)
            {
                if (fControl is TextBox)
                {
                    fList.Add((TextBox)fControl);
                }
            }
        }
    }       

    知识改变命运,奋斗成就人生!
    2009年6月3日 6:09
    版主
  • fTable怎么和asp页面的fTable关联起来呢?
    2009年6月3日 6:23
  • <asp:Table ID="fTable" runat="server"></asp:Table>
    如你在 html 中有个Table 叫 fTable, 当然这只是一个名称,你可以随便取
    知识改变命运,奋斗成就人生!
    2009年6月3日 6:25
    版主