ASP.NET Web Pages - Макет страницы
- Предыдущая страница WebPages Razor
- Следующая страница Папка WebPages
С помощью Web Pages легко создавать веб-сайты с единообразным макетом.
Единообразный вид
В Интернете вы найдете множество веб-сайтов с единообразным внешним видом:
- Каждая страница имеет одинаковый заголовок
- Каждая страница имеет одинаковый подзаголовок
- Каждая страница имеет одинаковый стиль и макет
Через Web Pages можно эффективно реализовать это. Вы можете получить повторно используемые блоки кода (блоки содержимого), такие как заголовки и подзаголовки, в独立的 файлах.
Вы также можете определить единообразный макет для всех страниц, используя шаблоны макета (файлы макета).
Блоки содержимого
Многие веб-сайты имеют содержимое, которое необходимо отображать на каждой странице (например, заголовки и подзаголовки).
Через Web Pages вы можете использовать @RenderPage() Методы импорта содержимого из разных файлов.
Блоки содержимого (из другого файла) могут быть добавлены в любое место веб-страницы и могут содержать текст, теги и код, как и любые обычные веб-страницы.
Использование общих заголовков и подзаголовков может значительно упростить работу. Вам не нужно写入 одинаковое содержимое на каждой странице, и при изменении файлов заголовков или подзаголовков содержимое обновляется на всех страницах.
Таким образом, это выглядит в коде:
Пример
<html> <body> @RenderPage("header.cshtml") <h1>Hello Web Pages</h1> <p>Это абзац</p> @RenderPage("footer.cshtml") </body> </html>
Запуск примера
Использование страниц макета
В предыдущем материале вы уже видели, что ссылка на одинаковое содержимое в нескольких веб-страницах очень проста.
Еще один способ создать единообразный вид — использовать страницы макета. Страницы макета содержат структуру веб-страницы, а не содержимое. Когда веб-страница (страница содержимого) ссылается на страницу макета, она отображается в соответствии с макетом (шаблоном).
Страницы макета аналогичны обычным веб-страницам, но они вызывают содержательные страницы в месте их ссылки. @RenderBody() метод.
Каждая содержательная страница должна начинаться с Инструкции Layoutначало.
Таким образом, это выглядит в коде:
Макет веб-страницы:
<html> <body> <p>Это текст.</p> @RenderBody() <p>© 2012 CodeW3C.com. Все права защищены.</p> </body> </html>
Любая веб-страница:
@{Layout="Layout.cshtml";} <h1>Добро пожаловать на CodeW3C.com</h1> <p> Это текст. Это текст. Это текст. Это текст. Это текст. Это текст. Это текст. Это текст. Это текст. Это текст. Это текст. Это текст. Это текст. Это текст. Это текст. Это текст. Это текст. Это текст. Это текст. Это текст. Это текст. Это текст. Это текст. Это текст. </p>
Запуск примера
Не повторяйтесь
С помощью двух инструментов 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 = "username@example.com"; WebMail.Password = "your-password"; WebMail.From = "your-name-here@example.com"; }
- Предыдущая страница WebPages Razor
- Следующая страница Папка WebPages