ASP.NET Web Pages - Page Layout







googletag.cmd.push(function() { googletag.display('div-gpt-ad-1422003450156-2'); });



ASP.NET Web Pages - Page Layout




❮ Previous
Next ❯



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 »








googletag.cmd.push(function() { googletag.display('div-gpt-ad-1493883843099-0'); });






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 = "username@example.com";
WebMail.Password = "your-password";
WebMail.From = "your-name-here@example.com";
}






❮ Previous
Next ❯

Popular posts from this blog

Chat program with C++ and SFML

Function to Return a JSON Like Objects Using VBA Collections and Arrays

Will my employers contract hold up in court?