![]() Главная страница Случайная страница КАТЕГОРИИ: АвтомобилиАстрономияБиологияГеографияДом и садДругие языкиДругоеИнформатикаИсторияКультураЛитератураЛогикаМатематикаМедицинаМеталлургияМеханикаОбразованиеОхрана трудаПедагогикаПолитикаПравоПсихологияРелигияРиторикаСоциологияСпортСтроительствоТехнологияТуризмФизикаФилософияФинансыХимияЧерчениеЭкологияЭкономикаЭлектроника |
Создание страницы
Использование шаблонов дизайна налагает свои требования на страницы. Поскольку шаблон содержит элементы управления ContentPlaceHolder, то страница должна содержать элементы управления Content, содержащие код разметки и другие элементы управления, которые будут отображать на результирующей странице. На странице не должно быть каких-либо серверных элементов управления или кода разметки вне элементов управления Content.
< %@Page Language=”C#” CodeFile=”Default.aspx.cs” Inherits=”Default_aspx” MasterPageFile=”MainMaster.master”%> < asp: content runat=" server" id=" MyMenu" contentplaceholderID=" PageMenu" > < 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> < /asp: content> < asp: content runat=" server" ID=" MyContent" contentplaceholderID=" PageContent" > < asp: TextBox id=" txtName" runat=" server" > < /asp: TextBox> & nbsp; < asp: Button id=" btnShow" runat=" server" Text=" Показать" OnClick=" btnShow_Click" /> < br /> < asp: PlaceHolder ID=" PlaceHolder" runat=" server" > < /asp: PlaceHolder> < /asp: content>
Также как и в случае с шаблоном, код логики страницы создается обычным образом. Единственное отличие в том, что страница не имеет собственных объектов вроде HeadControl, поэтому нужно использовать ссылку на страницу шаблона через свойство Master.
protected void Page_Load(object sender, EventArgs e) { if (! Page.IsPostBack) Master.Page.Header.Title = " Домашняя страница"; } protected void btnShow_Click(object sender, EventArgs e) { PlaceHolder.Controls.Add(new LiteralControl(" < script> alert('Добрый день, " + txtName.Text + " '); < /script> ")); Master.Page.Header.Title = " Добрый день, " + txtName.Text; }
Для того чтобы привязать страницу к шаблону, используется атрибут MasterPageFile директивы Page. Если же необходимо привязать один и тот же шаблон ко всем страницам в директории, то нет необходимости указывать атрибут MasterPageFile для каждой страницы, достаточно задать базовый шаблон в файле Web.config.
<? xml version=" 1.0"? > < configuration xmlns=" https://schemas.microsoft.com/.NETConfiguration/v2.0" > < system.Web> < pages master=" MainMaster.master" /> < /system.Web> < /configuration>
Кроме того, ASP.NET позволяет устанавливать тему оформления программным образом. Как было сказано выше, загрузка и связывание с шаблоном оформления происходит во время подготовки страницы к инициализации. Поэтому, если необходимо сменить шаблон оформления страницы, необходимо делать это в обработчике события PreInit.
protected void Page_PreInit(object sender, EventArgs e) { Page.MasterPageFile = " AnotherMaster.master"; }
|