我正在尝试使用下面的代码找到HtmlForm元素并添加几个新控件。不幸的是,这不起作用,从来没有找到HtmlForm元素。
foreach (Control c in Controls)
{
if (c is HtmlForm)
{
c.Controls.AddAt(0, manager);
c.Controls.AddAt(1, updatePanel);
}
}
答案 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;
}