Brief Idea about ASP.NET

Template engine

When first released, ASP.NET lacked a template engine. Because of the .NET framework is object-oriented and allows for inheritance, many developers would define a new base class that inherits from “System.Web.UI.Page”, write methods here that render HTML, and then make the pages in their application inherit from this new class. While this allows for common elements to be reused across a site, it adds complexity and mixes source code with markup. Furthermore, this method can only be visually tested by running the application – not while designing it. Other developers have used include files and other tricks to avoid having to implement the same navigation and other elements in every page.

ASP.NET 2.0 introduced the concept of “master pages”, which allow for template-based page development. A web application can have one or more master pages, which can be nested.[14] Master templates have placeholder controls, called ContentPlaceHolders to denote where the dynamic content will go, as well as HTML and JavaScript that will be shared across child pages.

Child pages use those ContentPlaceHolder controls, which must be mapped to the placeholder of the master page that the content page is populating. The rest of the page is defined by the shared parts of the master page, much like a mail merge in a word processor. All markup and server controls in the content page must be placed within the ContentPlaceHolder control.