В этом разделе описывается использование
ASP.NET WebPages для достижения унифицированного макета страницы.С помощью веб-страниц легко создать единообразный веб-сайт.
В Интернете вы найдете множество веб-сайтов, которые имеют одинаковый внешний вид:
Каждая страница имеет одинаковый заголовок
Каждая страница имеет одинаковое дно
Каждая страница имеет одинаковый стиль и макет.
С помощью веб-страниц вы можете сделать это очень эффективно. Вы можете записать повторно используемые блоки контента (например, верхние и нижние колонтитулы страниц) в отдельный файл.
Вы также можете использовать шаблоны макетов (файлы макетов), чтобы определить единообразный макет для всех страниц вашего сайта.
Многие веб-сайты имеют некоторый контент, который отображается на каждой странице сайта (например, верхний и нижний колонтитулы).
В веб-страницах вы можете использовать метод @RenderPage() для импорта контента из разных файлов.
Блоки контента (из другого файла) можно импортировать в любое место веб-страницы. Блоки контента могут содержать текст, разметку и код, как и любая обычная веб-страница.
Запись общих верхних и нижних колонтитулов в отдельные файлы сэкономит вам массу работы. Вам не обязательно писать одно и то же содержимое на каждой странице. Когда содержимое изменится, вам нужно только изменить заголовок или нижний файл, и вы увидите, что соответствующее содержимое каждой страницы сайта было обновлено.
Вот как это выглядит в коде:
<html> <body> @RenderPage("header.cshtml") <h1>Привет, веб-страницы</h1> <p>Это абзац</p> @RenderPage("footer.cshtml") </body> </html>
В предыдущем разделе вы видели, как очень легко отображать один и тот же контент на нескольких веб-страницах.
Еще один способ создать единообразный вид — использовать страницы макета. Страница макета содержит структуру веб-страницы, а не ее содержимое. Когда веб-страница (страница контента) связана со страницей макета, она отображается в соответствии со структурой страницы макета (шаблона).
Метод @RenderBody() используется для встраивания страницы контента в страницу макета. В остальном он ничем не отличается от обычной веб-страницы.
Каждая страница контента должна начинаться с директивы макета .
Вот как это выглядит в коде:
<html> <body> <p>Это текст заголовка</p> @RenderBody() <p>© 2012 W3CSchool. Все права защищены.</p> </body> </html>
@{Layout="Layout.cshtml";} <h1>Добро пожаловать на w3cschool.cn</h1> <p> Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmod tempor incididunt ut Labore et dolore magna aliqua ex ea commodo consequat. </p>
С помощью двух инструментов ASP.NET — блоков контента и страниц макета — вы можете придать своим веб-приложениям единообразный внешний вид.
Эти два инструмента могут сэкономить вам массу работы, поскольку вам не придется повторять одну и ту же информацию на каждой странице. Централизованная разметка, стили и код упрощают управление и обслуживание ваших веб-приложений.
В ASP.NET имена файлов начинаются с подчеркивания, чтобы предотвратить просмотр этих файлов в Интернете.
Если вы не хотите, чтобы ваши блоки контента или страницы макета были видны пользователям, вы можете переименовать эти файлы:
_header.cshtm
_footer.cshtml
_Layout.cshtml
В ASP.NET наиболее распространенным способом скрыть конфиденциальную информацию (пароли баз данных, пароли электронной почты и т. д.) является сохранение этой информации в отдельном файле с именем «_AppStart».
@{ WebMail.SmtpServer = "mailserver.example.com"; WebMail.EnableSsl = true; WebMail.UserName = "имя_пользователя@example.com"; WebMail.Password = "ваш-пароль"; -здесь@example.com"; }
Выше речь идет о макете содержимого веб-страниц ASP.NET. Если вам нужен более удобный и унифицированный макет веб-страницы, вы можете попробовать веб-страницы ASP.NET для макета.