С веб-страниц легко создать веб-сайт с последовательной компоновки.
Единообразный вид
В Интернете вы откроете для себя много вебов-сайтов с последовательным внешним видом:
- Каждая страница имеет один и тот же заголовок
- Каждая страница имеет один и тот же колонтитул
- Каждая страница имеет один и тот же стиль и расположение
С веб-страниц, это может быть сделано очень эффективно. Вы можете повторно используемые блоки контента (content blocks) , как верхние и нижние колонтитулы, в отдельных файлах.
Вы можете также определить последовательную форму для всех ваших страниц, используя шаблон макета (layout file) .
Блоки контента
Многие веб - сайты имеют содержимое, отображаемое на каждой странице (like headers and footers) , (like headers and footers) .
С веб - страниц вы можете использовать @ RenderPage() метод для импорта контента из отдельных файлов.
Содержимое блока (from another file) могут быть импортированы в любом месте веб - страницы, и может содержать текст, разметку и код, так же , как любой обычный веб - страницы.
Использование общих колонтитулов в качестве примера, это позволяет сэкономить много работы. Вам не нужно писать то же самое содержание в каждой странице, и при изменении файлов или нижнего колонтитула, содержание обновляется во всех ваших страницах.
Вот как это выглядит в коде:
пример
<html>
<body>
@RenderPage("header.cshtml")
<h1>Hello Web Pages</h1>
<p>This is a paragraph</p>
@RenderPage("footer.cshtml")
</body>
</html>
Выполнить пример » Использование макета страницы
В предыдущем разделе было показано, что в том числе и тот же контент на многих веб-страниц легко.
Другой подход к созданию единого стиля является использование макет страницы. Страница макета содержит структуру, но не содержимое, веб-страницы. Когда веб - страница (content page) связана с макетом страницы, то он будет отображаться в соответствии с страницей макета (template) .
Макет страницы так же , как обычный веб - страницы, за исключением вызова к @ RenderBody() метод , при котором будет включаться содержание страницы.
Каждая страница контента должна начинаться с директивой Layout.
Вот как это выглядит в коде:
Макет страницы:
<html>
<body>
<p>This is header text</p>
@RenderBody()
<p>© 2014 w3ii. All rights reserved.</p>
</body>
</html>
Любые веб-страницы:
@{Layout="Layout.cshtml";}
<h1>Welcome to w3ii</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>
Выполнить пример » DRY - не повторяться
С инструментами два ASP.NET, содержание блоков и макета страницы, вы можете дать вашим веб-приложениям единообразный вид.
Эти инструменты также сэкономить много работы, так как вы не должны повторять ту же информацию на всех страницах. Централизация разметки, стиль и код делает веб-приложения намного более управляемым и проще в обслуживании.
Предотвращение файлов из просматриваемого
С ASP.NET, файлы с именем, начинающимся с символом подчеркивания не могут быть просмотрены из Интернета.
Если вы хотите, чтобы предотвратить ваши блоки контента или файлы макет от просмотра ваших пользователей, переименовывать файлы:
_header.cshtml
_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]";
}