Просто для справки в будущем (я не пробовал код Нейта) иногда вам приходится искать элементы управления, найденные в .Parent
, особенно при попытке найти элементы управления в контейнере или, что еще хуже, в контейнере, в контейнере, в контейнере и т. д.
или поиск дочерний. Контроль, потому что при втором чтении я не могу сказать, является ли это родительское местоположение или дочернее местоположение, которое ищет элемент управления.Если вы в ascx, как правило, вы ищете родителей, если вы находитесь на странице, как правило, вы ищете детей.
Вот автоматический преобразователь кода: http://converter.telerik.com/ для C # в VB.NET
private static Control FindControl(Control container,string id)
{
if (container.FindControl(id) != null)
return container.FindControl(id);
foreach (Control possibility in container.Controls)
{
if (container.FindControl(id) != null)
return container.FindControl(id);
if(possibility.Controls.Count>0)
{
Control childPossibility = FindControl(possibility, id);
if (childPossibility != null)
return childPossibility;
}
}
//throw new InvalidOperationException("Couldn't find it!");
return null;
}
Я надеюсь, что это наводит на мысль о решении, чтобы действительно найти решение, мне понадобится больше вашего исходного кода.