Код ниже можно использовать для поиска именованного элемента управления в любой части иерархии элементов управления:
public static Control FindControlRecursive(Control rootControl, string id)
{
if (rootControl != null)
{
if (rootControl.ID == id)
{
return rootControl;
}
for (int i = 0; i < rootControl.Controls.Count; i++)
{
Control child;
if ((child = FindControlRecursive(rootControl.Controls[i], id)) != null)
{
return child;
}
}
}
return null;
}
Так что вы можете сделать что-то вроде:
Control foundControl= FindControlRecursive(Page.Master, "theIdOfTheControlYouWantToFind");
((HtmlControl)foundControl).Attributes.Add("class", "active");
Забыл упомянуть ранее, что вам нужен runat = "server" на любом элементе управления, который вы хотите найти таким образом =)