ЗНАЕТЕ ИНТУИТ, Лекция, Изграждане на уеб формуляри Приложения уеб формуляри
Контролни елементи
Контролите са един от най-важните елементи на ASP концепцията. NET уеб формуляри. По принцип ASP. NET Web Forms са обекти. NET Framework, които наследяват от общия основен клас за управление или WebControl. Обикновено контролите съдържат някаква логика и имат алгоритъм за генериране на HTML код за съдържанието на тази контрола. Ако разгледате йерархията на наследяването за типичен контрол, можете да видите това. Например йерархията на наследяване за контрола Календар е както следва.

Контролите са мощни и удобни инструменти за разработчика на приложения. Всъщност всеки разработчик може да създаде свои собствени контроли с логиката, която иска, ако функционалността на стандартните контроли не е достатъчна. Това е възможно от съществуващия модел за генериране на HTML-код за страницата. Нека разгледаме по-отблизо модела за генериране на HTML код. .
Както видяхме, ASP. NET Web Forms е колекция от контроли, всяка със собствена функционалност и логика. В този случай възниква въпросът кой софтуерен компонент ще генерира HTML кода, който ще бъде предаден на клиента.
За да разрешите този проблем в ASP. NET Web Forms използва следния подход. Страницата (клас на страница) е контролен контейнер, който съдържа всички контроли, които се показват на потребителя. Всяка контрола (класът Control) е и контейнер за други контроли. По този начин контролите могат да бъдат вложени един в друг, във връзка с което се изгражда йерархия на контролите на страниците. Например, нека разгледаме следното маркиране на ASPX за страница.

Както можете да видите от примера, във формуляра се поставят две контроли Панел, които имат вложени контроли .

Йерархичната структура на контролите за дадена форма може да бъде представена по следния начин:

По същия начин нивото на гнездене може да бъде още по-дълбоко.
За да е възможно да се изгради подобна йерархия на контролите на страница, страницата (Page) и контролите (Control) имат колекция Controls като част от техните свойства, която съдържа връзки към дъщерни контроли. Например, ако искате да получите достъп до контроли на дадена страница, както и до вложени контроли, можете да използвате следния код.
