The FindControl
method doesn't work recursively. This means that unless your control was added directly to the page, it would not find it.
If you know the container control, use FindControl on that and not on the Page.
If you don't, you could use a a function like this to solve the problem
private Control FindControlRecursive(Control root, string id)
{
if (root.ID == id)
{
return root;
}
foreach (Control c in root.Controls)
{
Control t = FindControlRecursive(c, id);
if (t != null)
{
return t;
}
}
return null;
}