ASP.NET Web Pages - Макет страницы


С помощью Web Pages легко создать веб-сайт с единообразным макетом.


Единообразный внешний вид

В Интернете вы найдете множество веб-сайтов, которые имеют единообразный внешний вид и стиль:

  • Каждая страница имеет один и тот же верхний колонтитул
  • Каждая страница имеет один и тот же нижний колонтитул
  • Каждая страница имеет один и тот же стиль и макет

С Web Pages вы можете делать это очень эффективно. Вы можете поместить повторно используемые блоки содержимого (например, верхние и нижние колонтитулы страницы) в отдельный файл.

Вы также можете использовать шаблоны макета (файлы макета), чтобы определить единообразный макет для всех веб-страниц на вашем сайте.


Блоки содержимого

Многие веб-сайты содержат контент, который отображается на каждой странице сайта (например, верхние и нижние колонтитулы).

С помощью Web Pages можно использовать метод@RenderPage()для импорта содержимого из разных файлов.

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

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

Ниже показано, как это выглядит в коде:

Пример

<html>
<body>
@RenderPage("header.cshtml")
<h1>Привет, Web Pages</h1>
<p>Это абзац</p>
@RenderPage("footer.cshtml")
</body>
</html>

Запустить пример »


Страница макета

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

Ещё один способ создать единообразный внешний вид — использовать страницы макета. Страница макета содержит структуру веб-страницы, а не её содержимое. Когда веб-страница (страница содержимого) ссылается на страницу макета, она отображается в соответствии со структурой страницы макета (шаблона).

Страница макета использует метод@RenderBody()для встраивания страниц содержимого. Помимо этого, она ничем не отличается от обычной веб-страницы.

Каждая страница содержимого должна начинаться с директивымакета.

Ниже показано, как это выглядит в коде:

Страница макета:

<html>
<body>
<p>Это текст заголовка</p>
@RenderBody()
<p>&copy; 2012 Example. Все права защищены.</p>
</body>
</html>

Любая веб-страница:

@{Layout="Layout.cshtml";}

<h1>Добро пожаловать на example.com</h1>

<p>
Lorem ipsum dolor sit amet, consectetur adipisicing elit,sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laborisnisi ut aliquip ex ea commodo consequat.
</p>

Запустить пример »


D.R.Y. - Не повторяйся

С помощью двух инструментов ASP.NET — блоков содержимого и страниц макета — вы можете обеспечить единообразный внешний вид вашего веб-приложения.

Эти два инструмента могут сэкономить вам много работы; вам больше не нужно повторять одну и ту же информацию на каждой странице. Централизованная разметка, стили и код упрощают управление и поддержку вашего веб-приложения.


Запрет просмотра файлов

В ASP.NET файлы, имена которых начинаются со знака подчеркивания, не могут быть просмотрены в интернете.

Если вы не хотите, чтобы ваши блоки содержимого или страницы макета были видны пользователям, можно переименовать эти файлы:

_header.cshtm

_footer.cshtml

_Layout.cshtml


Скрытие конфиденциальной информации

В ASP.NET наиболее распространённый способ скрыть конфиденциальную информацию (пароли к базе данных, пароли электронной почты и т. д.) — это хранить эту информацию в отдельном файле с именем "_AppStart".

_AppStart.cshtml

@{
WebMail.SmtpServer = "mailserver.example.com";
WebMail.EnableSsl = true;
WebMail.UserName = "[email protected]";
WebMail.Password = "your-password";
WebMail.From = "[email protected]";
}


Другие расширения