Помощь в написании студенческих работ
Антистрессовый сервис

Основы Master Pages

РефератПомощь в написанииУзнать стоимостьмоей работы

Преимущество технологии ASP.NET перед остальными состоят в высокой степени абстракции, построенной над стандартным HTML-кодом: применение объектно-ориентированной парадигмы, поддержка нескольких языков программирования, наличие универсального основания, содержащего тысячи уже готовых для использования в проектах решений — Microsoft .NET Framework. С помощью шаблонов страниц вы определяете… Читать ещё >

Основы Master Pages (реферат, курсовая, диплом, контрольная)

С помощью шаблонов страниц вы определяете некоторое общее содержание и помещаете ее в страницу с расширением.master. Естественно, таких страниц в приложении может быть несколько. Этой шаблон могут использовать любое количество дочерних страниц, которые как и обычные страницы, имеют расширение aspx.

В страницу шаблона также включают общие заголовки и нижние колонтитулы.

Это единственный тип страниц, где возможно разместить специальные элементы управления ContentPlaceHolder. Они определяют места, в которое дочерние страницы данного мастера могут помещать свое собственное содержание. Когда ASP.NET получает запрос отобразить дочернюю страницу, она сливает ее код с кодом главной страницы, в результате генерируется HTML, в котором не видно никаких «швов».

Когда дочерняя страница редактируется в среде разработки, на вкладке Design видна полная страница вместе с элементами из шаблона, но они показаны серым цветом. Их редактировать нельзя. Можно редактировать то, что находится в элементах Content.

В диалоге Add New Item выберите тип страницы Master Page. Как и обычные страницы, их можно создавать с отделенным кодом или кодом, встроенным в страницу. Это никак не влияет на модель разделения кода дочерних+ страниц. Кроме того, главная и дочерняя страницы могут разрабатываться на разных языках.

Чтобы получить четкое разделение страницы на логические части, используют таблицы. Построим таблицу с 3 строками, где в верхней строке находится заголовок всех страниц, во второй произвольное содержание, она состоит из двух ячеек, в каждой из которых по одному ContentPlaceHolder. В нижнем ряду находится правовая информация. Таблица создается очень просто из меню Layout-Insert Table. Создайте таблицу 2 на 3. После этого объедините ячейки верхней и нижней строк, а в среднюю вставьте ContentPlaceHolder. Создайте содержание заголовка и подвала. Должна получиться подобная страница:

<%@ Master Language="C#" AutoEventWireup="true" .

CodeFile="MasterPage.master.cs" Inherits="MasterPage" %>

" http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd" >

Привет!

Школа программирования ASP.NET 2.0

runat="server" >

ID="ContentPlaceHolder2″ runat="server" >

Copyright ©.

2006 — Школа ASP.NET 2.0.

Первое отличие этой страницы от обычной в том, что она начинается с директивы Master, а не Page. Класс мастер-страницыопределен в файле MasterPage.master.cs:

public partial class MasterPage: System.Web.UI.MasterPage.

{.

protected void Page_Load (object sender, EventArgs e).

{.

}.

}.

Класс шаблона — наследник System.Web.UI.MasterPage, который в свою очередь наследует от System.Web.UI.UserControl.

В ней могут находиться любые элементы управления и HTML-код. В ней могут обрабатываться и события страницы. Два элемента ContentPlaceHolder обозначают места, куда вставляется содержание страницы-наследницы.

Теперь нужно создать страницу содержания. Она создается как обычно, только отмечается флажок с надписью Select Master Page. Появляется диалог, в котором необходимо выбрать шаблон страницы:

<%@ Page Language="C#" MasterPageFile="~/MasterPage.master" .

AutoEventWireup="true" CodeFile="MainSchool.aspx.cs" .

Inherits="MainSchool" Title="Untitled Page" %>

Атрибут MasterPage директивы Page определяет шаблон дизайна, или эталонную страницу данной страницы.

Возможно настроить приложение так, чтобы все страницы наследовали одну страницу шаблона дизайна. В конфигурационном файле в секцию System. web нужно вставить элемент:

Но и в этом случае назначение главной страницы в директиве Page имеет приоритет над назначением на уровне приложения. Установка web. config действует на тех страницах, в которых masterPageFile не указан, но определены элементы управленияContent. Эта установка не действует на обычные aspx-страницы.

Шаблон можно назначить не всем страницам, а выборочно, например, расположенным в определенной папке приложения:

Элемент location вставляется в главный узел configuration. Здесь указано, что все страницы из папки Lections используют шаблонную страницу Lections.master.

На странице-наследнице шаблона могут быть только элементы типа Content, каждый из которых соответствует одному элементуContentPlaceHolder шаблона. Нельзя вставлять содержание вне этих элементов, иначе ASP .NET не сможет объединить главную страницу со страницей содержания. Идентификатор ContentPlaceHolder должен совпадать с атрибутомContentPlaceHolderID соответствующего элемента Content:

ContentPlaceHolderID="ContentPlaceHolder2″ Runat="Server" >

Программа создала дочернюю страницу с двумя элементами управления Content. Если переключиться на вкладку Design, эти два элемента Content будут показаны в виде пустых прямоугольников, расположенных рядом друг с другом, так как в шаблоне они находятся в двух соседних ячейках таблицы. Директива Page отличается от обычной, кроме атрибута MasterPageFile, наличием атрибута Title. Так как теги, , наследуются из файла шаблона, это единственная возможность переопределить заголовок браузера. Заменим значение атрибута:

Title="Главная" .

Если посмотреть на результирующую страницу в браузере, увидим, что заголовок браузера отразил изменение. В HTML-коде страницы записано.

Главная.

На самой странице отображается только содержание, заданное в странице шаблона.

Шаблон можно в любой момент отредактировать, и изменения отразятся на всех производных страницах. Например, добавим картинку перед текстом заголовка:

(Ее можно найти в установке .NET «Microsoft.NETFramework v2.0.xxxASP.NETWebAdminFilesImages).

Дочерняя страница в браузере теперь выглядит так:

Содержание страницы должно быть строго внутри элементов Content. В один из них можно поместить, например, картинку, а во второй — текст:

ContentPlaceHolderID="ContentPlaceHolder1″ Runat="Server" >

ImageUrl="Images/photo_home01.jpg" />

ContentPlaceHolderID="ContentPlaceHolder2″ Runat="Server" >

Преимущество технологии ASP.NET перед остальными состоят в высокой степени абстракции, построенной над стандартным HTML-кодом: применение объектно-ориентированной парадигмы, поддержка нескольких языков программирования, наличие универсального основания, содержащего тысячи уже готовых для использования в проектах решений — Microsoft .NET Framework.

NavigateUrl="Voting.aspx" >Дальше.

Есть еще один способ поменять заголовок браузера программно. У страницы, имеющей шаблон, есть свойство Master. Конечно, оно есть у всех страниц, но у обычных страниц оно равно Null. Через него можно обращаться ко всем свойствам главной страницы. Это свойство только для чтения.

public MasterPage Master { get; }.

public partial class MainSchool: System.Web.UI.Page.

{.

protected void Page_LoadComplete (object sender, EventArgs e).

{.

Master.Page.Title = «Школа веб-программирования» ;

}.

Показать весь текст
Заполнить форму текущей работой