60 likes | 264 Views
Из цикла лекций «Технологии разработки Internet-приложений» для студентов 4-го курса кафедры Компьютерных технологий физического факультета Донецкого национального университета. Технологии разработки Internet -приложений. ASP.NET приложения – класс Control. Класс Control.
E N D
Из цикла лекций «Технологии разработки Internet-приложений» для студентов 4-го курса кафедры Компьютерных технологий физического факультета Донецкого национального университета Технологии разработки Internet-приложений ASP.NET приложения – класс Control проф. В.К.Толстых, www.tolstykh.com
Класс Control Предок всех серверных элементов управления (Web, HTML, пользовательских, специализированных…) КлассControl определён в пространстве имён System.Web.UI Основные потомки Control– это HtmlControlи WebControl Среди элементов управления могут встречаться как элементы-контейнеры (контейнеры именования, например , Panel , Table), которые могут содержать дочерние элементы (свойство Controls – содержимое коллекцииконтейнера), так и самостоятельные элементы, которые не подразумевают, что у них будут доступны дочерние элементы (например, Button). В момент генерации страницы происходит рекурсивный перебор всех элементов управления для генерации конечного HTML-кода, отправляемого пользователю.
Атрибут ClientIDMode(ASP.NET 4.0) Автоматическое формирование клиентских идентификаторов (ClientID) сучётом иерархии контейнеров может заметно усложнить разработку клиентской части приложения. При разработке клиентских стилей, скриптов необходимо заранее знать идентификаторы объектов. Например, следующий стиль #txtName { font-weight: bold; } придётся оформлять в виде #ctl00_content_txtName { font-weight: bold; } «Старый» способ преодоления такой проблемы может иметь вид: <script type="text/javascript"> var txtName = "<%= txtName.ClientID %>"; </script> Атрибут ClientIDModeполучает или задает алгоритм создания значения свойства ClientID. Примерформирования статического идентификатора: <script type="text/javascript"> function f() {document.getElementById("SelectedSport").innerHTML =...; } </script> ... <asp:Label ID="SelectedSport" runat="server" ClientIDMode="Static"> </asp:Label> Значение атрибута ClientIDModeравное AutoID – этотрадиционное автоматическое формирование ClientID, Predictable – формирование ClientID спрефиксом его контейнера (например, content_txtName), Inherit – наследует настройки ClientIDMode его родительского элемента управления. Значение ClientIDModeможно устанавливать и в директиве @Page