
- •Обязательные компоненты
- •Создание макета главной страницы
- •Создание макетной таблицы для главной страницы
- •Добавление статического содержимого на главную страницу
- •Добавление прототипа содержимого
- •Создание содержимого главной страницы
- •Создание страницы Home
- •Добавление содержимого к странице Home
- •Создание страницы About
- •Тестирование страниц
- •Тестирование страниц
- •Создание ссылок на члены главной страницы.
- •Добавление свойства к главной странице
- •Создание ссылки на свойство CompanyName на странице содержимого
- •Тестирование ссылки на свойство главной страницы
- •Динамическое изменение главных страниц
- •Создание копии главной страницы
- •Добавление кнопок для выбора альтернативной главной страницы
- •Написание кода для динамического выбора главной страницы
- •Тестирование динамических главных страниц
- •Замечания по использованию главных страниц
- •Следующие действия
Создание копии главной страницы
В обозревателе решений щелкните правой кнопкой мыши Master1.master и выберите команду Копировать.
Щелкните правой кнопкой имя веб-узла и затем выберите Вставить.
Главная страница будет добавлена к веб-узлу с именем Копия master1.master.
Щелкните правой кнопкой имя Копия master1.master, выберите Переименовать и затем задайте имя новой главной страницы Master2.master.
Откройте Master2.master и измените в директиве @ Master атрибут
Master1
наMaster2
.
Законченная директива страницы будет похожа на приведенную в следующем примере кода.
Язык Visual Basic |
|
<%@ Master Language="VB" CodeFile="Master2.master.vb" Inherits="Master2" %> | |
Язык C# |
|
<%@ Master Language="C#" CodeFile="Master2.master.cs" Inherits="Master2" %> |
Переключитесь в представление Конструктор.
В окне Свойства в верхней части раскрывающегося списка выберите DOCUMENT.
Очистите свойство BgColor.
Новая главная страница будет выглядеть и функционировать, как Master1.master, но без фонового цвета.
Откройте файл кода для Master2.master и измените имя класса в файле с выделенным кодом главной страницы с
Master1
наMaster2
для соответствия значению атрибута Inherits в директиве @ Master главной страницы.
Код будет похож на приведенный ниже.
Язык Visual Basic |
|
Partial Class Master2 | |
Язык C# |
|
public partial class Master2 : System.Web.UI.MasterPage |
Следующим шагом будет добавление кнопки на каждую главную страницу, которая позволит пользователям выбирать альтернативную главную страницу.
Добавление кнопок для выбора альтернативной главной страницы
Перейдите на страницу Master2.master или откройте ее.
В Панели элементов перетащите из узла Стандартный элемент управления LinkButton на страницу и поместите его под меню в верхней части ячейки таблицы.
Задайте для свойства Text кнопки значение Colorful.
Дважды нажмите кнопку, чтобы создать обработчик события Click, а затем добавьте следующий выделенный код:
Язык Visual Basic
Копировать код
Protected Sub LinkButton1_Click(ByVal sender As Object, ByVal e As EventArgs)_
Handles LinkButton1.Click
Session("masterpage") = "Master1.master" Response.Redirect(Request.Url.ToString())
End Sub
[C#]
Копировать код
void LinkButton1_Click(Object sender, EventArgs e)
{
Session["masterpage"] = "Master1.master"; Response.Redirect(Request.Url.ToString());
}
Код загрузит имя файла альтернативной главной страницы в постоянную переменную сеанса и затем перезагрузит текущую страницу. (Свойство Url возвращает объект Uri, который ссылается на текущую страницу.) Вскоре будет создан код на странице содержимого, имеющей то же имя, что и главная страница.
Перейдите на страницу Master1.master или откройте ее в представлении Конструктор.
Добавьте элемент управления LinkButton, как на шаге 1 и 2, и задайте для его свойства Text значение Plain.
Дважды нажмите кнопку
Plain
, чтобы создать обработчик события Click, а затем добавьте следующий выделенный код:Язык Visual Basic
Копировать код
Protected Sub LinkButton1_Click(ByVal sender As Object, ByVal e As EventArgs)_
Handles LinkButton1.Click
Session("masterpage") = "Master2.master" Response.Redirect(Request.Url.ToString())
End Sub
Язык C#
Копировать код
void LinkButton1_Click(Object sender, EventArgs e)
{
Session["masterpage"] = "Master2.master"; Response.Redirect(Request.Url.ToString());
}
Это такой же код, как для кнопки на странице Master2.master, за исключением того, что он загружает альтернативную главную страницу.
Теперь напишите код на странице содержимого, которая динамически загрузит главную страницу, выбранную пользователем.