foreach(var c in this.Controls){
if(c is Sublayout) {
var sl = (Sublayout)c;
}
}
Или с LINQ:
var sublayouts = this.Controls.Where(c => (c is Sublayout)).Select(c = > (Sublayout)c);
ОБНОВЛЕНИЕ:
Я пытался сделать это недавно, получив элемент управления HtmlHead
, так что Я написал сообщение в блоге о том, как это сделать .Я только что понял, что вы можете сделать что-то подобное для подуровней.
Вот полезный метод для получения элементов управления на странице по их типу:
WebUtil.FindControlsOfType(typeof(Sublayout), Sitecore.Context.Page.Page)