Опубликован: 13.07.2010 | Уровень: специалист | Доступ: платный
Самостоятельная работа 31:

Стилевое оформление страниц

Способ 0. Создание страницы Satellite.aspx

  • В панели Solution Explorer выделите корень Web-дерева и выполните команду меню Website/Add New Item (или команду Add New Item контекстного меню)
  • В появившемся диалоговом окне задайте имя страницы Satellite.aspx и отметьте показанные настройки, включая Select master page

  • Оболочка предложит еще одно окно, в котором выберите мастер-страницу Title.master

Созданная страница Satellite.aspx с отделенным кодом будет добавлена в корень Web-дерева и будет содержать контейнеры с подключенным пустым содержимым для всех шаблонов выбранной мастер-страницы

<%@ Page Language="C#" MasterPageFile="~/MasterPages/Title.master" 
    Title="Untitled Page" %>
<asp:Content ID="Content1" ContentPlaceHolderID="ContentPlaceHolder1" Runat="Server">
</asp:Content>
<asp:Content ID="Content2" ContentPlaceHolderID="ContentPlaceHolder2" Runat="Server">
</asp:Content>
<asp:Content ID="Content3" ContentPlaceHolderID="ContentPlaceHolder3" Runat="Server">
</asp:Content>
<asp:Content ID="Content4" ContentPlaceHolderID="ContentPlaceHolder4" Runat="Server">
</asp:Content>
Листинг 31.42. Дескрипторный код созданной мастером страницы Satellite.aspx

Способ 1. Создание страницы Satellite1.aspx

  • В панели Solution Explorer выделите нужную мастер-страницу Title.master и выполните команду меню Website/Add Content Page (или команду Add Content Page контекстного меню)

Будет создана контекстная страница с дежурным именем, размещенная в том же каталоге, что и выделенная мастер-страница, и не будет иметь файл отделенного кода, потому что мы создали мастер-страницу без отделенного кода. Добавленный атрибут MasterPageFile будет прописан относительно корня Web-дерева как абсолютный адрес в пределах сайта

MasterPageFile="~/MasterPages/Title.master"

Это значит, что можно переместить контекстную страницу в любую папку в пределах Web-дерева, и везде адрес мастер-страницы буден известен системе ASP.NET. Но если переместить мастер-страницу, то оболочка автоматически не исправит ее адрес в использующих контекстных страницах, а это нужно делать вручную.

Поэтому необходимо соблюдать простое правило, при котором не придется долго искать ошибки: перемещать мастер-страницу по Web-дереву беспрепятственно можно до тех пор, пока для нее не созданы контекстные страницы.

  • Переименуйте созданную контекстную страницу Default.aspx на Satellite1.aspx и переместите ее в корневой каталог Web-дерева

Способ 2. Создание страницы Satellite2.asp

  • Откройте мастер-страницу Title.master на редактирование и щелкните на ней в любом месте правой кнопкой мыши

Появится контекстное меню с уже известной нам командой Add Content Page, выполнение которой создаст файл Default.aspx.

  • Переименуйте созданную контекстную страницу Default.aspx на Satellite2.aspx и переместите ее в корневой каталог Web-дерева

Способ 3. Создание страниц Satellite3.aspx и Satellite4.aspx

  • Получите в корневом каталоге сайта 2 копии любого из созданных файлов Satellite?.aspx и назовите их именами Satellite3.aspx и Satellite4.aspx, учитывая, что все страницы ссылаются на одну и туже мастер-страницу Title.master
Иван Циферблат
Иван Циферблат
Россия, Таганрог, 36, 2000