Тег HTML заголовок страницы
Тег определяет заголовок HTML страницы. Этот тег не отображается на самой веб странице. Браузеры обычно выводят его как название вкладки. Также тег title используется поисковыми системами как заголовок сайта в выдаче.
Не путайте HTML тег с глобальным атрибутом title — это разные вещи.
Элемент находится в области страницы (подробнее про раздел head). Можно использовать только один тег title на странице.
Синтаксис
Заголовок HTML документа
Содержимое тега заголовка используется:
- как название вкладки в браузере;
- как название страницы при добавлении в Избранные или Закладки;
- как заголовок сниппета сайта в поисковой выдаче.
Атрибуты у тега title отсутствуют.
Пример использования в HTML коде
Поддержка браузерами
| Тег | |||||
| Да | Да | Да | Да | Да |
Тег title в поисковых системах
Поисковые системы используют содержимое тега title страницы для построения заголовка сниппета сайта в выдаче.

Чтобы правильно заполнять тег нужно учитывать следующие правила:
- Пишите внутри title только то, что соответствует содержанию страницы.
- Не пишите слишком длинные заголовки.
- Не стоит делать из заголовка перечисление ключевых слов.
- Ставьте наиболее важную информацию в начало заголовка.
Правильный тег поспособствует поднятию позиции страницы сайта при ранжировании.
Многие CMS поддерживают автогенерацию заголовка. Обычно при этом используется заголовок страницы и название раздела сайта (например, для страницы товара интернет магазина: название товара из h1 и категория товара). Хотя эта схема не является идеальной, ее использование оправдано во многих случаях.
Вот пример тега title для этой страницы (один из вариантов):
Тег title HTML заголовок страницы - справочник HTML тегов Guru Weba
Урок 2. HTML заголовок страницы — какие заголовки страниц бывают в HTML
Раз вы находитесь на данном уроке, то хотите и дальше изучать тему сайтостроения. И с помощью этих уроков у вас появится базовое понимание, что это такое.
Что делать, если вам нужно больше знаний и хотите, возможно, даже работать в этой области? Лучше найти специализированные курсы. В рунете не так много хороших, где обучают Front-end разработчиков. Мне понравилась программа обучения, которая есть у Нетологии у курса «Front-end разработчик с нуля«. Также неплохая программа и у Skillbox у курс «Front-end разработчик«.
Если изучать веб-разработку, то с профессионалами.
Теория и практика — Параграфы и заголовки HTML страницы
Сегодня мы поговорим о параграфах и заголовках. Начнем с простого — с параграфов и где они применяются.
Параграфы на странице
Я сейчас приведу пример кода, в котором будет присутствовать тег параграфа .
1 2 3 4 5 6 7 8
html> head> title>Моя первая html страница/title> /head> body> p>Начало обучения технологии html/p> /body> /html>
Основную структуру Вы уже помните из первого урока. Там разбирали основы и смотрели, что же такое HTML. Поэтому сосредоточим свое внимание на том, что находится между тегами .
Когда Вы пишете любой текст на странице, будь это просто абзац или небольшая поясняющая строка под изображением, необходимо этот текст помещать внутрь тега .
В последующих уроках Вы увидите процесс оформления данных абзацев. Сейчас Вы должны понять то, что нельзя размещать тег на странице без какого-либо тега. Потому что в дальнейшем будет сложно применить какие-то индивидуальные стили именно для этого участка текста.
Попробуйте написать несколько абзацев. Некоторые абзацы возьмите в тег , а некоторые оставьте без него. И Вы сразу увидите разнице. Потому что если Вы напишете абзац внутри этого тега, то у него сразу же появятся отступы. А сейчас перейдем уже в HTML заголовкам страницы.
HTML заголовки на странице
В HTML документе присутствует семантика. Я не говорю о технологии HTML5 и его новых тегах. Здесь лишь разберем самые базовые, чтобы Вы быстро смогли освоить азы HTML. Семантика означает то, что не надо заголовки, абзацы, таблицы и так далее, создавать с помощью одного и того же тега. Это можно сделать, но технология HTML более разнообразна и для разных ситуаций предусмотрены соответствующие теги. А Вам лишь необходимо освоить основные теги, чтобы свободно работать с HTML кодом.
Это небольшое введение я написал к тому, что для параграфов необходимо использовать уже известный Вам тег . А вот для заголовков используются теги, которые начинаются с английской буквы «H».
Вот весь список заголовков, которые Вы можете использовать:
Некоторые из данных тегов используются гораздо чаще. Это такие теги как h1, h2 или h3. Если кто-то уже знаком с CSS, то понимает, что заголовок HTML заголовок страницы h3 можно стилизовать таким образом, что он будет внешне похож и на h1 или h2. Но значения, которые они носят, хотя бы для SEO оптимизации, кардинально отличаются. Как правило, эти цифры, внутри тегов, следует понимать как уровень важности того или иного HTML заголовка. Поэтому необходимо очень тщательно прорабатывать данные элементы и тогда поисковые системы станут замечать Ваши статьи.
Пока мы не дошли до CSS, Вы увидите стили заголовков, которые заданы по умолчанию в браузерах. Если Вы вставите один за одним данные теги и внутри напишите какой-либо текст, то увидите следующее:

Для поисковых роботов также важно использование заголовков на странице. Есть определенные правила, которые Вы можете прочитать в нашей книге — PDF книга по раскрутке сайта.
После того, как все изучили, сразу же идем в код и пробуем написать все своими руками. Именно так быстрее всего осваивается любой язык программирования. Но технология HTML намного легче любого языка программирования, поэтому здесь сможет разобраться каждый. Таким образом Вы лучше запомните теги.
Видео урок — HTML заголовок страницы? (практика)
Наглядное видео на примере работы с данными тегами:
Домашнее задание
Д/З: в качестве примера напишите небольшой текст, который будет состоять из 5-7 абзацев и 2-3 разнообразных заголовков.
Указание названия, метатегов и других заголовков HTML на эталонной странице (VB)
Рассматриваются различные методы определения различных головных <> элементов главной страницы на странице содержимого.
Введение
Новые master страницы, созданные в Visual Studio 2008, по умолчанию содержат два элемента управления ContentPlaceHolder: один с именем head и расположен в элементе , а один ContentPlaceHolder1 — в веб-форме. Цель ContentPlaceHolder1 — определить регион в веб-форме, который можно настраивать постранично. ContentPlaceHolder head позволяет страницам добавлять пользовательское содержимое в раздел. (Конечно, эти два ContentPlaceHolders можно изменить или удалить, а на страницу master можно добавить дополнительный ContentPlaceHolder. В настоящее время на странице Site.master master имеется четыре элемента управления ContentPlaceHolder.)
Элемент HTML служит репозиторием для получения сведений о документе веб-страницы, который не является частью самого документа. Сюда входят такие сведения, как заголовок веб-страницы, метаданные, используемые поисковыми системами или внутренними средствами-обходчиками, а также ссылки на внешние ресурсы, такие как RSS-каналы, JavaScript и CSS-файлы. Некоторые из этих сведений могут иметь отношение ко всем страницам веб-сайта. Например, может потребоваться глобально импортировать одни и те же правила CSS и файлы JavaScript для каждой страницы ASP.NET. Однако есть части элемента, относящиеся к странице. Заголовок страницы является ярким примером.
В этом руководстве мы рассмотрим, как определить глобальную разметку и разметку разделов для конкретной страницы на странице master и на ее страницах содержимого.
Изучение раздела главной страницы
Файл страницы master по умолчанию, созданный Visual Studio 2008, содержит следующую разметку в своем разделе:
Untitled Page
Обратите внимание, что элемент содержит runat=»server» атрибут , который указывает, что он является серверным элементом управления (а не статическим HTML). Все ASP.NET страницы являются производными Page от класса , который находится в System.Web.UI пространстве имен. Этот класс содержит Header свойство , которое предоставляет доступ к региону страницы . Header С помощью свойства можно задать ASP.NET заголовка страницы или добавить дополнительную разметку в отрисованный раздел. Таким образом, можно настроить элемент страницы содержимого, написав немного кода в обработчике событий страницы Page_Load . Мы рассмотрим, как программно задать заголовок страницы на шаге 1.
Разметка, показанная в элементе выше, также включает элемент управления ContentPlaceHolder с именем head . Этот элемент управления ContentPlaceHolder не является обязательным, так как страницы содержимого могут добавлять пользовательское содержимое в элемент программным способом. Однако это полезно в ситуациях, когда страница содержимого должна добавить статическую разметку в элемент , так как статическую разметку можно добавить декларативно в соответствующий элемент управления Контентом, а не программным способом.
В дополнение к элементу и head ContentPlaceHolder элемент страницы master должен содержать любую разметку уровня , которая является общей для всех страниц. На нашем веб-сайте все страницы используют правила CSS, определенные в Styles.css файле . Следовательно, мы обновили элемент в учебнике Создание макета Site-Wide с помощью главных страниц , чтобы включить соответствующий элемент. Текущая Site.master разметка страницы master показана ниже.
Untitled Page
Шаг 1. Настройка заголовка страницы содержимого
Заголовок веб-страницы указывается с помощью элемента . Важно задать для заголовка каждой страницы соответствующее значение. При посещении страницы ее заголовок отображается в строке заголовка браузера. Кроме того, при создании закладки страницы браузеры используют название страницы в качестве рекомендуемого имени для закладки. Кроме того, многие поисковые системы отображают заголовок страницы при отображении результатов поиска.
По умолчанию Visual Studio задает элемент на странице master значение «Без названия страница». Аналогичным образом для новых ASP.NET страниц также задано значение «Без названия». Так как можно легко забыть задать для заголовка страницы соответствующее значение, в Интернете есть много страниц с заголовком «Безымянные страницы». Поиск веб-страниц Google с этим заголовком возвращает примерно 2 460 000 результатов. Даже корпорация Майкрософт подвержена публикации веб-страниц с заголовком «Безымянные страницы». На момент написания этой статьи поиск Google сообщил о 236 таких веб-страницах в Microsoft.com домене.
Заголовок страницы ASP.NET можно указать одним из следующих способов:
- Путем размещения значения непосредственно в элементе
- Использование атрибута Title в директиве
- Программное задание свойства страницы Title с помощью кода, например Page.Title=»title» или Page.Header.Title=»title» .
Страницы содержимого не содержат элемента, как это определено на странице master. Таким образом, чтобы задать заголовок страницы содержимого, можно использовать атрибут директивы Title или задать его программным способом.
Декларативное задание заголовка страницы
В представлении Источник найдите директиву , которая находится в верхней части декларативной разметки страницы. Директива для Default.aspx следующего:
Директива задает атрибуты страницы, используемые подсистемой ASP.NET при анализе и компиляции страницы. Сюда входят его master файл подкачки, расположение файла кода и его заголовок, а также другие сведения.
По умолчанию при создании новой страницы содержимого Visual Studio задает для атрибута Title значение «Без названия страница». Измените Default.aspx Title атрибут с «Без названия страницы» на «Руководства по эталонным страницам», а затем просмотрите страницу в браузере. На рисунке 1 показана строка заголовка браузера, в которой отображается новый заголовок страницы.

Рис. 01. В строке заголовка браузера теперь отображаются «Учебники по эталонным страницам» вместо «Страница без названия»
Заголовок страницы также можно задать из окно свойств. В окно свойств выберите DOCUMENT в раскрывающемся списке, чтобы загрузить свойства уровня страницы, которые включают свойство Title . На рисунке 2 показана окно свойств после Title присвоения значения «Учебники по эталонным страницам».

Рис. 02. Вы также можете настроить заголовок в окне свойств
Установка заголовка страницы программным способом
Разметка страницы master преобразуется в HtmlHead экземпляр класса при отрисовке страницы подсистемой ASP.NET. Класс HtmlHead имеет Title свойство , значение которого отражается в отрисовываемом элементе . Это свойство доступно из класса кода программной части страницы ASP.NET через Page.Header.Title ; это же свойство также можно получить через Page.Title .
Чтобы попрактиковаться в настройке заголовка страницы программным способом, перейдите к классу About.aspx кода программной части страницы и создайте обработчик события страницы Load . Затем задайте для заголовка страницы значение «Учебники по эталонным страницам :: О программе :: дата«, где date — это текущая дата. После добавления этого кода Page_Load обработчик событий должен выглядеть примерно так:
Protected Sub Page_Load(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Load Page.Title = String.Format("Master Page Tutorials :: About :: ", DateTime.Now) End Sub
На рисунке 3 показана строка заголовка браузера при посещении About.aspx страницы.

Рис. 03. Заголовок страницы задается программным способом и включает текущую дату
Шаг 2. Автоматическое назначение заголовка страницы
Как мы видели на шаге 1, заголовок страницы можно задать декларативно или программно. Однако если вы забудете явно изменить заголовок на более описательное, страница будет иметь заголовок по умолчанию «Безымянные страницы». В идеале заголовок страницы задается автоматически в том случае, если мы не указываем его значение явным образом. Например, если во время выполнения заголовок страницы — «Страница без названия», может потребоваться, чтобы заголовок автоматически обновлялся, чтобы он совпадал с именем файла ASP.NET страницы. Хорошей новостью является то, что с немного авансовой работы можно иметь название автоматически назначено.
Все ASP.NET веб-страницы являются производными Page от класса в пространстве имен System.Web.UI. Класс Page определяет минимальные функциональные возможности, необходимые странице ASP.NET, и предоставляет основные свойства, такие как IsPostBack , IsValid , Request и Response , среди многих других. Часто для каждой страницы в веб-приложении требуются дополнительные функции или функции. Распространенным способом предоставления этого является создание пользовательского класса базовой страницы. Настраиваемый базовый класс страницы — это класс, который является производным от Page класса и включает дополнительные функциональные возможности. После создания этого базового класса вы можете получить наследование страниц ASP.NET от него (а не Page класса ), тем самым предлагая расширенные функциональные возможности для ASP.NET страниц.
На этом шаге мы создадим базовую страницу, которая автоматически задает для заголовка страницы имя файла ASP.NET страницы, если заголовок не был задан явным образом. В шаге 3 рассматривается настройка заголовка страницы на основе карты сайта.
Тщательное изучение создания и использования пользовательских классов базовых страниц выходит за рамки область этой серии учебников. Дополнительные сведения см. в статье Использование пользовательского базового класса для классов Code-Behind страниц ASP.NET.
Создание класса базовой страницы
Наша первая задача — создать базовый класс страницы, который является классом, расширяющим Page класс . Начните с добавления App_Code папки в проект, щелкнув правой кнопкой мыши имя проекта в Обозреватель решений, выберите Добавить ASP.NET папку, а затем выберите App_Code . Затем щелкните правой кнопкой мыши папку App_Code и добавьте новый класс с именем BasePage.vb . На рисунке 4 показана Обозреватель решений после App_Code добавления папки и BasePage.vb класса.

Рис. 04. Добавление App_Code папки и класса с именем BasePage
Visual Studio поддерживает два режима управления проектами: проекты веб-сайтов и проекты веб-приложений. Папка App_Code предназначена для использования с моделью проекта веб-сайта. Если вы используете модель проекта веб-приложения, поместите BasePage.vb класс в папку с именем, отличной от App_Code , например Classes . Дополнительные сведения по этой теме см. в статье Перенос проекта веб-сайта в проект веб-приложения.
Так как пользовательская базовая страница служит базовым классом для ASP.NET классов кода программной части страниц, необходимо расширить Page класс .
Public Class BasePage Inherits System.Web.UI.Page End Class
Каждый раз, когда запрашивается ASP.NET страница, она проходит через ряд этапов, кульминацией которых является отрисовка запрошенной страницы в ФОРМАТЕ HTML. Мы можем перейти к этапу, переопределив Page метод класса OnEvent . Для нашей базовой страницы давайте автоматически задаем заголовок, если он не был явно указан этапом LoadComplete (который, как вы могли догадаться, происходит после Load этапа).
Для этого переопределите OnLoadComplete метод и введите следующий код:
Protected Overrides Sub OnLoadComplete(ByVal e As EventArgs) ' Set the page's title, if necessary If String.IsNullOrEmpty(Page.Title) OrElse Page.Title = "Untitled Page" Then ' Determine the filename for this page Dim fileName As String = System.IO.Path.GetFileNameWithoutExtension(Request.PhysicalPath) Page.Title = fileName End If MyBase.OnLoadComplete(e) End Sub
Метод OnLoadComplete начинается с определения, не задано ли Title свойство явным образом. Title Если свойство имеет Nothing значение , пустую строку или имеет значение «Безымянная страница», оно присваивается имени файла запрошенной страницы ASP.NET. Физический путь к запрошенной странице ASP.NET , C:\MySites\Tutorial03\Login.aspx например, доступен через Request.PhysicalPath свойство . Метод Path.GetFileNameWithoutExtension используется для извлечения только части имени файла, а затем это имя файла присваивается свойству Page.Title .
Я предлагаю вам улучшить эту логику, чтобы улучшить формат заголовка. Например, если имя файла страницы — Company-Products.aspx , приведенный выше код создаст заголовок «Company-Products», но в идеале дефис будет заменен пробелом, как в разделе «Продукты компании». Кроме того, рекомендуется добавлять пробел всякий раз, когда происходит изменение варианта. То есть рекомендуется добавить код, преобразующий имя OurBusinessHours.aspx файла в название «Наши рабочие часы».
Наследование страниц содержимого от класса базовой страницы
Теперь нам нужно обновить страницы ASP.NET на нашем сайте, чтобы они стали производными от пользовательской базовой Page страницы ( BasePage ) вместо класса . Для этого перейдите к каждому классу кода программной части и измените объявление класса с:
Partial Class About Inherits System.Web.UI.Page . End Class
Partial Class About Inherits BasePage . End Class
После этого посетите сайт через браузер. При посещении страницы, название которой явно задано, например Default.aspx или About.aspx , используется явно указанный заголовок. Однако если вы посещаете страницу, заголовок которой не был изменен по сравнению со значением по умолчанию («Страница без названия»), базовый класс страницы задает для заголовка имя файла страницы.
На рисунке 5 показана MultipleContentPlaceHolders.aspx страница при просмотре в браузере. Обратите внимание, что заголовок — это имя файла страницы (за вычетом расширения) MultipleContentPlaceHolders.

Рис. 05. Если заголовок не указан явно, имя файла страницы используется автоматически (щелкните для просмотра полноразмерного изображения)
Шаг 3. Создание заголовка страницы на карте сайта
ASP.NET предлагает надежную платформу карты сайта, которая позволяет разработчикам страниц определять иерархическую карту сайта во внешнем ресурсе (например, в XML-файле или таблице базы данных), а также веб-элементы управления для отображения сведений о карте сайта (например, элементы управления SiteMapPath, Menu и TreeView).
Доступ к структуре карты сайта также можно получить программным способом из класса кода программной части страницы ASP.NET. Таким образом можно автоматически задать заголовок страницы в качестве заголовка соответствующего узла на карте сайта. Давайте улучшаем класс, созданный на BasePage шаге 2, чтобы он предлагал эту функцию. Но сначала необходимо создать карту сайта для нашего сайта.
В этом руководстве предполагается, что читатель уже знаком с ASP. Функции карты сайта NET. Дополнительные сведения об использовании карты сайта см. в моей многокомпонентной серии статей Изучение ASP. Навигация сайта NET.
Создание карты сайта
Система карты сайта построена на основе модели поставщика, которая отделяет API карты сайта от логики, которая сериализует сведения карты сайта между памятью и постоянным хранилищем. Платформа .NET Framework поставляется с классом XmlSiteMapProvider , который является поставщиком карты сайта по умолчанию. Как следует из названия, XmlSiteMapProvider в качестве хранилища карт сайта используется XML-файл. Давайте используем этот поставщик для определения карты сайта.
Начните с создания файла карты сайта в корневой папке веб-сайта с именем Web.sitemap . Для этого щелкните правой кнопкой мыши имя веб-сайта в Обозреватель решений, выберите Добавить новый элемент и выберите шаблон Карта сайта. Убедитесь, что файл имеет имя Web.sitemap , и нажмите кнопку Добавить.

Рис. 06. Добавление файла с именем Web.sitemap в корневую папку веб-сайта (щелкните для просмотра полноразмерного изображения)
Добавьте следующий XML-код в Web.sitemap файл:
Этот XML-код определяет иерархическую структуру карты сайта, показанную на рис. 7.

Рис. 07. Карта сайта в настоящее время состоит из трех узлов карты сайта
Мы будем обновлять структуру карты сайта в будущих руководствах по мере добавления новых примеров.
Обновление главной страницы для включения веб-элементов управления навигацией
Теперь, когда у нас есть карта сайта, давайте обновим страницу master, чтобы включить веб-элементы управления навигации. В частности, давайте добавим элемент управления ListView в левый столбец раздела Lessons, который отображает неупорядоченный список с элементом списка для каждого узла, определенного на карте сайта.
Элемент управления ListView является новым для ASP.NET версии 3.5. Если вы используете более рановую версию ASP.NET, используйте вместо него элемент управления Repeater. Дополнительные сведения об элементе управления ListView см. в статье Использование элементов управления ListView и DataPager ASP.NET 3.5.
Начните с удаления существующей разметки неупорядоченного списка из раздела Уроки. Затем перетащите элемент управления ListView с панели элементов и под заголовком Уроки. ListView находится в разделе Данные панели элементов вместе с другими элементами управления представлениями: GridView, DetailsView и FormView. Присвойте свойству ListView ID значение LessonsList .
В мастере настройки источника данных выберите привязку ListView к новому элементу управления SiteMapDataSource с именем LessonsDataSource . Элемент управления SiteMapDataSource возвращает иерархическую структуру из системы карты сайта.

Рис. 08. Привязка элемента управления SiteMapDataSource к элементу управления ListView LessonsList (щелкните для просмотра полноразмерного изображения)
После создания элемента управления SiteMapDataSource необходимо определить шаблоны ListView, чтобы он отображал неупорядоченный список с элементом списка для каждого узла, возвращаемого элементом управления SiteMapDataSource. Это можно сделать с помощью следующей разметки шаблона:
После настройки шаблонов ListView посетите веб-сайт. Как показано на рисунке 9, раздел Уроки содержит один маркированный элемент Home. Где находятся уроки About и Using Multiple ContentPlaceHolder Controls? SiteMapDataSource предназначен для возврата иерархического набора данных, но элемент управления ListView может отображать только один уровень иерархии. Следовательно, отображается только первый уровень узлов карты сайта, возвращаемых SiteMapDataSource.

Рис. 09. Раздел «Уроки» содержит один элемент списка (щелкните для просмотра полноразмерного изображения)
Чтобы отобразить несколько уровней, можно вложить несколько ListView в ItemTemplate . Этот метод был рассмотрен в руководстве по эталонным страницам и навигации по сайтусерии учебников по работе с данными. Однако для этой серии учебников наша карта сайта будет содержать только два уровня: Home (верхний уровень); и каждый урок, как ребенок Дома. Вместо создания вложенного элемента ListView можно указать SiteMapDataSource не возвращать начальный узел, задав для его ShowStartingNode свойства значение False . Результатом является то, что SiteMapDataSource начинается с возврата второго уровня узлов карты сайта.
После этого изменения ListView отображает маркированные элементы для уроков About и Using Multiple ContentPlaceHolder Controls, но пропускает маркированный элемент для Home. Чтобы устранить эту проблему, мы можем явно добавить маркированный элемент для Home в LayoutTemplate :
После настройки SiteMapDataSource пропуска начального узла и явного добавления маркированного элемента Home раздел Уроки теперь отображает нужные выходные данные.

Рис. 10. Раздел «Уроки» содержит маркированный элемент для домашнего и каждого дочернего узла (щелкните для просмотра полноразмерного изображения)
Задание заголовка на основе карты сайта
Используя карту сайта, мы можем обновить класс BasePage для использования заголовка, указанного в карте сайта. Как и в шаге 2, мы хотим использовать заголовок узла карты сайта, только если заголовок страницы не был явно задан разработчиком страницы. Если запрашиваемая страница не имеет явно заданного заголовка страницы и не найдена в карте сайта, мы вернемся к использованию имени файла запрошенной страницы (за вычетом расширения), как это было в шаге 2. На рисунке 11 показан этот процесс принятия решений.

Рис. 11. При отсутствии явно заданного заголовка страницы используется заголовок соответствующего узла карты сайта
Обновите BasePage метод класса OnLoadComplete , включив в него следующий код:
Protected Overrides Sub OnLoadComplete(ByVal e As EventArgs) ' Set the page's title, if necessary If String.IsNullOrEmpty(Page.Title) OrElse Page.Title = "Untitled Page" Then ' Is this page defined in the site map? Dim newTitle As String = Nothing Dim current As SiteMapNode = SiteMap.CurrentNode If current IsNot Nothing Then newTitle = current.Title Else ' Determine the filename for this page newTitle = System.IO.Path.GetFileNameWithoutExtension(Request.PhysicalPath) End If Page.Title = newTitle End If MyBase.OnLoadComplete(e) End Sub
Как и раньше, метод начинается с определения того, OnLoadComplete был ли явно задан заголовок страницы. Если Page.Title имеет значение Nothing , пустая строка или присвоено значение «Безымянная страница», то код автоматически присваивает значение Page.Title .
Чтобы определить используемый заголовок, код начинается со ссылки на SiteMap свойство класса CurrentNode . CurrentNode SiteMapNode возвращает экземпляр в карте сайта, соответствующий запрошенной в данный момент странице. При условии, что запрошенная в данный момент страница найдена на карте сайта, SiteMapNode заголовок страницы присваивается свойству .s Title . Если запрошенная в данный момент страница не находится на карте сайта, CurrentNode возвращается Nothing и имя файла запрошенной страницы используется в качестве заголовка (как это было сделано на шаге 2).
На рисунке 12 показана MultipleContentPlaceHolders.aspx страница при просмотре в браузере. Так как заголовок этой страницы не задан явным образом, вместо него используется соответствующий заголовок узла карты сайта.

Рис. 12. Заголовок страницы MultipleContentPlaceHolders.aspx извлекается из карты сайта
Шаг 4. Добавление других Page-Specific разметки в раздел
В шагах 1, 2 и 3 была выполнена настройка элемента постранично. В дополнение к разделу могут содержаться элементы и элементы. Как отмечалось ранее в этом руководстве , Site.master в разделе содержится элемент . Styles.css Так как этот элемент определен на странице master, он включен в раздел для всех страниц содержимого. Но как добавить элементы на постраничной основе?
Самый простой способ добавить содержимое страницы в раздел — создать элемент управления ContentPlaceHolder на странице master. У нас уже есть такой Объект ContentPlaceHolder (с именем head ). Поэтому, чтобы добавить пользовательскую разметку, создайте соответствующий элемент управления Содержимое на странице и поместите разметку на нее.
Чтобы проиллюстрировать добавление пользовательской разметки на страницу, давайте добавим элемент описания в текущий набор страниц контента. Элемент description предоставляет краткое описание веб-страницы. Большинство поисковых систем включают эту информацию в той или иной форме при отображении результатов поиска.
Элемент description имеет следующую форму:
Чтобы добавить эту разметку на страницу содержимого, добавьте приведенный выше текст в элемент управления Контент, который сопоставляется с ContentPlaceHolder страницы head master. Например, чтобы определить элемент описания для Default.aspx , добавьте следующую разметку:
head Так как ContentPlaceHolder не находится в тексте HTML-страницы, разметка, добавленная в элемент управления Контент, не отображается в режиме конструктора. Чтобы просмотреть элемент описания, перейдите Default.aspx в браузер. После загрузки страницы просмотрите источник и обратите внимание, что раздел содержит разметку, указанную в элементе управления Контент.
Уделите некоторое время добавлению элементов описания в About.aspx , MultipleContentPlaceHolders.aspx и Login.aspx .
Программное добавление разметки в регион
head ContentPlaceHolder позволяет декларативно добавлять пользовательскую разметку в регион страницы master. Пользовательская разметка также может быть добавлена программным способом. Помните, что Page свойство класса Header возвращает экземпляр, определенный HtmlHead на странице master ().
Возможность программного добавления содержимого в регион полезна, если добавляемый контент является динамическим. Возможно, это зависит от того, что пользователь посещает страницу; может быть, он извлекается из базы данных. Независимо от причины, вы можете добавить содержимое в , HtmlHead добавив элементы управления в его Controls коллекцию следующим образом:
' Programmatically add a element to the Header Dim keywords As New HtmlMeta() keywords.Name = "keywords" keywords.Content = "master page,asp.net,tutorial" Page.Header.Controls.Add(keywords)
Приведенный выше код добавляет элемент keywords в регион, который предоставляет разделенный запятыми список ключевых слов, описывающих страницу. Обратите внимание, что для добавления тега необходимо создать HtmlMeta экземпляр, задать его Name свойства и Content , а затем добавить его в коллекцию Controls Header . Аналогичным образом, чтобы программно добавить элемент, создайте HtmlLink объект, задайте его свойства, а затем добавьте его в коллекцию Header Controls .
Чтобы добавить произвольную LiteralControl разметку, создайте экземпляр, задайте его Text свойство, а затем добавьте его в Controls Header коллекцию .
Сводка
В этом руководстве мы рассмотрели различные способы добавления разметки региона постранично. Страница master должна содержать HtmlHead экземпляр ( ) с ContentPlaceHolder. Экземпляр HtmlHead позволяет страницам содержимого программно получать доступ к региону , декларативно и программно задавать заголовок страницы. Элемент управления ContentPlaceHolder позволяет добавлять пользовательскую разметку в раздел декларативно с помощью элемента управления контентом.
Дополнительные материалы
Дополнительные сведения о темах, рассмотренных в этом руководстве, см. в следующих ресурсах:
- Динамическое задание заголовка страницы в ASP.NET
- Изучение ASP. Навигация сайта NET
- Использование метатегов HTML
- Главные страницы в ASP.NET
- Использование элементов управления ListView и DataPager ASP.NET 3.5
- Использование пользовательского базового класса для классов Code-Behind страниц ASP.NET
Об авторе
Скотт Митчелл(Scott Mitchell), автор нескольких книг ASP/ASP.NET и основатель 4GuysFromRolla.com, работает с веб-технологиями Майкрософт с 1998 года. Скотт работает независимым консультантом, тренером и писателем. Его последняя книга Sams Teach Yourself ASP.NET 3,5 в 24 часа. Скотт может быть доступен в mitchell@4GuysFromRolla.com или через его блог по адресу http://ScottOnWriting.NET.
Особая благодарность
Эта серия учебников была рассмотрена многими полезными рецензентами. Ведущими рецензентами этого руководства были Зак Джонс и Сучи Банерджи. Хотите просмотреть предстоящие статьи MSDN? Если да, опустите мне строку на mitchell@4GuysFromRolla.com.
Тег h1
Тег h1 создает заголовок 1 -го уровня. Заголовок — это название какого-либо блока, обычно набранное большим и жирным шрифтом. Заголовок h1 — это самый главный заголовок на странице, в нем должна быть отражена ее основная мысль.
Заголовки в HTML имеют разные уровни: от первого ( h1 ) до шестого ( h6 ). Если сравнивать HTML страницу с книгой, то заголовок h1 можно считать названием всей книги, h2 — главы, h3 — параграфа в главе и так далее. Соответственно, обычный текст лежит в абзацах.
Данный тег по умолчанию жирный и большого размера. Это поведение можно изменить с помощью CSS свойств font-weight и font-size .
Пример
Давайте посмотрим, как выглядят заголовки разных уровней и абзацы в браузере:
Заголовок h1
Заголовок h2
Заголовок h3
Заголовок h4
Заголовок h5
Заголовок h6
Это первый абзац.
Это второй абзац.
Это третий абзац.
Смотрите также
- теги h2 , h3 , h4 , h5 , h6 ,
которые также делают заголовки в тексте - тег p ,
с помощью которого можно сделать абзацы в тексте