0% found this document useful (0 votes)
39 views

A Consistent Look: Previous Next Chapter

This document discusses how to create a consistent page layout in ASP.NET Web Pages using content blocks and layout pages. Content blocks allow importing common elements like headers and footers from separate files using @RenderPage(). Layout pages define a template structure containing @RenderBody() where content pages are displayed. These techniques prevent duplicating content and make sites easier to manage and maintain. Sensitive information can be hidden by storing it in files beginning with underscores that cannot be directly browsed.
Copyright
© © All Rights Reserved
Available Formats
Download as DOCX, PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
39 views

A Consistent Look: Previous Next Chapter

This document discusses how to create a consistent page layout in ASP.NET Web Pages using content blocks and layout pages. Content blocks allow importing common elements like headers and footers from separate files using @RenderPage(). Layout pages define a template structure containing @RenderBody() where content pages are displayed. These techniques prevent duplicating content and make sites easier to manage and maintain. Sensitive information can be hidden by storing it in files beginning with underscores that cannot be directly browsed.
Copyright
© © All Rights Reserved
Available Formats
Download as DOCX, PDF, TXT or read online on Scribd
You are on page 1/ 3

ASP.

NET Web Pages - Page Layout


Previous
Next Chapter

With Web Pages it is easy to create a web site with a consistent layout.

A Consistent Look
On the Internet you will discover many web sites with a consistent look and feel:

Every page have the same header

Every page have the same footer

Every page have the same style and layout

With Web Pages this can be done very efficiently. You can have reusable blocks of content (content blocks),
like headers and footers, in separate files.
You can also define a consistent layout for all your pages, using a layout template (layout file).

Content Blocks
Many websites have content that is displayed on every page (like headers and footers).
With Web Pages you can use the @RenderPage() method to import content from separate files.
Content block (from another file) can be imported anywhere in a web page, and can contain text, markup,
and code, just like any regular web page.
Using common headers and footers as an example, this saves you a lot of work. You don't have to write the
same content in every page, and when you change the header or footer files, the content is updated in all
your pages.
This is how it looks in code:

Example
<html>
<body>
@RenderPage("header.cshtml")
<h1>Hello Web Pages</h1>
<p>This is a paragraph</p>
@RenderPage("footer.cshtml")

</body>
</html>
Run example

Using a Layout Page


In the previous section, you saw that including the same content in many web pages is easy.
Another approach to creating a consistent look is to use a layout page. A layout page contains the structure,
but not the content, of a web page. When a web page (content page) is linked to a layout page, it will be
displayed according to the layout page (template).
The layout page is just like a normal web page, except from a call to the @RenderBody() method where
the content page will be included.
Each content page must start with a Layout directive.
This is how it looks in code:

Layout Page:
<html>
<body>
<p>This is header text</p>
@RenderBody()
<p>&copy; 2014 W3Schools. All rights reserved.</p>
</body>
</html>

Any Web Page:


@{Layout="Layout.cshtml";}
<h1>Welcome to W3Schools</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>
Run example

D.R.Y. - Don't Repeat Yourself


With two ASP.NET tools, Content Blocks and Layout Pages, you can give your web applications a consistent
look.

These tools also save you a lot of work, since you don't have to repeat the same information on all pages.
Centralizing markup, style, and code makes web applications much more manageable and easier to
maintain.

Preventing Files from Being Browsed


With ASP.NET, files with a name that starts with an underscore cannot be browsed from the web.
If you want to prevent your content blocks or layout files from being viewed by your users, rename the files
to:
_header.cshtml
_footer.cshtml
_Layout.cshtml

Hiding Sensitive Information


With ASP.NET, the common way to hide sensitive information (database passwords, email passwords, etc.) is
to keep the information in a separate file named "_AppStart".

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

You might also like