Главная страница Случайная страница Разделы сайта АвтомобилиАстрономияБиологияГеографияДом и садДругие языкиДругоеИнформатикаИсторияКультураЛитератураЛогикаМатематикаМедицинаМеталлургияМеханикаОбразованиеОхрана трудаПедагогикаПолитикаПравоПсихологияРелигияРиторикаСоциологияСпортСтроительствоТехнологияТуризмФизикаФилософияФинансыХимияЧерчениеЭкологияЭкономикаЭлектроника |
Обработка шаблонов средой ASP.NET
Во время первого обращения к какой-либо странице, ASP.NET осуществляет поиск и компиляцию сборок для всех шаблонов в директории. Эта операция занимает некоторое время, зависящее от количества страниц шаблонов в директории, но выполняется только один раз. Поэтому, если в директории присутствуют не использующиеся шаблоны, это не приводит к потерям производительности в процессе работы приложения, единственное неудобство – дополнительное время, а компиляцию ненужных сборок для неиспользуемых страниц. При обращении к .aspx файлу страницы с заданным шаблоном оформления процесс компиляции почти ничем не отличается от обычного процесса компиляции страницы, за исключением того, что создается класс шаблона MasterPage, ссылка на который доступна в свойстве Page.Master. Затем страница проходит все те шаги, которые описаны выше в этой статье, в результате чего генерируется HTML код, который отправляется клиенту. В полученном браузером HTML коде уже нельзя определить, какая часть кода задана в шаблоне оформления, а какая часть кода определена на самой странице, поскольку элементы управления ContentPlaceHolder и Content не имеют каких-либо HTML соответствий и не порождают дополнительных тегов, кроме своего содержимого.
< html> < head id=" ctl00_Head1" > < meta http-equiv=" Content-Type" content=" text/html; charset=utf-8" > < title> Домашняя страница< /title> < /head> < body> < table width=" 100%" > < tr> < span id=" ctl00_PageTitle" > < /span> < /tr> < tr> < table width=" 100%" > < tr> < td> < ul> < li> < a href=" Page1.aspx" > Страница 1< /a> < /li> < li> < a href=" Page2.aspx" > Страница 2< /a> < /li> < li> < a href=" Page3.aspx" > Страница 3< /a> < /li> < /ul> < /td> < td> < form method=" post" action=" default.aspx" id=" __aspnetForm" > < div> < input type=" hidden" name=" __VIEWSTATE" value=" " /> < /div> < input name=" ctl00$PageContent$txtName" type=" text" id=" ctl00_PageContent_txtName" /> & nbsp; < input type=" submit" name=" ctl00$PageContent$btnShow" value=" Показать" id=" ctl00_PageContent_btnShow" /> < /form> < /td> < /tr> < /table> < /tr> < tr> < p align=" right" > Время: < span id=" ctl00_PageTime" > 20.03.2005< /span> < /p> < /tr> < /table> < /body> < /html>
Поскольку шаблон является подмножеством страницы, то допустимо создавать вложенные шаблоны, указывая для шаблона в директиве Master путь к другому шаблону с помощью атрибута MasterPageFile. Для этого необходимо в основном шаблоне определить элементы управления ContentPlaceHolder, а в " дочерних" шаблонах на ряду с ContentPlaceHolder элементами определить элементы управления Content для замещения содержимого элементов ContentPlaceHolder базового шаблона.
|