如何找到HtmlForm元素?

时间:2011-08-09 13:44:22

标签: c# asp.net

我正在尝试使用下面的代码找到HtmlForm元素并添加几个新控件。不幸的是,这不起作用,从来没有找到HtmlForm元素。

  foreach (Control c in Controls)
            {

                if (c is HtmlForm)
                {

                    c.Controls.AddAt(0, manager);
                    c.Controls.AddAt(1, updatePanel);

                }

            }

2 个答案:

答案 0 :(得分:1)

如何使用Page.Form获取HtmlForm?

答案 1 :(得分:0)

您是否在表单控件中指定了runat="server"?除此以外;你的代码不会意识到它。

此外,如果Control具有嵌套控件,则可能需要一些递归;所以像这样:

public static Control FindControlRecursive(Control containerCtl, string controlIdToFind)
        {
            var foundCtl = containerCtl.FindControl(controlIdToFind);
            if (foundCtl != null && controlIdToFind == foundCtl.ID)
            {
                return foundCtl;
            }

            foreach (Control ctl in containerCtl.Controls)
            {
                foundCtl = FindControlRecursive(ctl, controlIdToFind);
                if (foundCtl != null && controlIdToFind == foundCtl.ID)
                {
                    return foundCtl;
                }
            }

            return null;
        }