Веб-сайт построен на базе Web Forms платформы интернет-проектов ASP.NET, язык программирования C#. Дизайн сайта создан на основе свободно распространяемых шаблонов. Для большей реалистичности сайт состоит из нескольких страниц. Все веб страницы размещены в корневом каталоге.
Для загрузки веб-страниц используются натуральные адреса: как страница называется физически, так и в адресной строке браузера она обозначается. Достоинство такого подхода простота и точность названия файлов веб-страниц, недостатки – сложно обслуживать сайт с большим количеством страниц.
Контент страниц веб-сайта хранится в базе данных. Роль базы данных играет файл .xml. Изменив текстовое содержание файла базы данных можно изменить отображаемый текст на страницах сайта. Специальный класс унифицирует загрузку содержимого для каждой веб-страницы отдельно. Вместо файла .xml, конечно же, можно использовать любую двоичную базу данных.
Веб-сайт построен с помощью мастер-страницы и дочерних страниц с контентом. Это сделано для обеспечения однообразия вида страниц сайта. Мастер-страница содержит основной дизайн, в дочерних страницах только контент необходимый для отображения. При загрузке мастер-страница автоматически сливается с запрошенной дочерней страницей в единое целое.
Мастер-страница по сути обыкновенная страница ASPX, но с специальным расширением .master. Также, как и любая страница ASPX, она состоит из двух страниц, одна с HTML разметкой (плюс внедряемый код), другая с отделенным программным кодом на языках .NET: C# или Visual Basic.
<%@MasterLanguage="C#"AutoEventWireup="true"CodeBehind="Site1.master.cs"Inherits="WebApp1.Site1"%><!DOCTYPEhtml><htmlxmlns="http://www.w3.org/1999/xhtml"><headrunat="server"><metahttp-equiv="Content-Type"content="text/html; charset=utf-8"/><title>Пример сайта на ASP.NET. Веб формы</title><asp:ContentPlaceHolderID="head"runat="server"><%/* Здесь могут находиться мета теги, используемые для хранения информации
предназначенной для браузеров и поисковых систем. Каждая дочерняя страница может
размещать свою индивидуальную информацию между тегами с идентификатором ID="head" */%></asp:ContentPlaceHolder></head><body><formid="form1"runat="server"><div><%/* Место размещения элементов верхней части веб страницы:
шапка, меню, рекламные блоки и т.п. */%><!-- Начало дочерней страницы --><asp:ContentPlaceHolderID="Content"runat="server"><%/*место для автоматической вставки кода дочерних страниц*/%></asp:ContentPlaceHolder><!-- Конец дочерней страницы --><%/* Место размещения подвала веб страницы: дополнительное меню,
справки, рекламные блоки и т.п. */%></div></form></body></html>
В отличие от мастер-страницы дочерняя сильно упрощена что удобно для сосредоточенной работы с контентом данной веб-страницы. Обычно дочерние страницы имеет совсем мало служебного кода.
Листинг №2 Вид дочерней страницы:
<%@PageTitle="Преимущества технологии ASP.NET"Language="C#"MasterPageFile="~/Site1.Master"AutoEventWireup="true"CodeBehind="gallery.aspx.cs"Inherits="WebApp1.gallery"%><asp:ContentID="Content1"ContentPlaceHolderID="head"runat="server"><%/* Место размещения заголовков, метаданных, скриптов, стилей и др. */%></asp:Content><asp:ContentID="Content2"ContentPlaceHolderID="Content"runat="server"><%/* Здесь должен находиться основной контент веб страницы */%></asp:Content>
Веб-сайт создан в Visual Studio .NET 2013. Исходник веб-сайта можно открыть и редактировать в Visual Studio более поздних выпусков , а также в SharpDevelop 5.x. Исходный код построен как веб-приложение, основная программная логика находится в файле .dll.