The Sitecore layout engine extends the ASP.NET Web application server to merge content with presentation logic dynamically when Web clients request resources. The layout engine dynamically merges content in the database with code in files according to layout details defined in the context item, which corresponds to the URL requested by the Web client. The layout engine determines the context language, device type, and other criteria from the HTTP request. Presentation components generate different output based on the Sitecore context.

Sitecore HTTP requests correspond to items in a Sitecore database. Each item contains layout details. Layout details instruct Sitecore which presentation components to apply. Developers manage presentation components as files on disk, such as ASP.NET Web forms (.aspx), XSL transformation files (.xslt), and .NET assemblies (.dll).

Developers typically manage file assets using a source code management system rather than Sitecore and use release management techniques instead of publishing.

Sitecore manages layouts definition items beneath the /Sitecore/Layout/Layouts item in the content tree. Layout definition items use the System/Layout/Layout data template. The Path field in the Data section of each layout definition item references the path to an .aspx file relative to the document root of the Web site.

You can configure the value attribute of the /configuration/sitecore/settings/setting element in web.config with name IgnoreUrlPrefixes to prevent Sitecore from processing specific requests, causing ASP.NET to process the request without Sitecore.

Sublayouts are ASP.NET Web user controls that you register with Sitecore. Each HTTP request that activates a layout can invoke zero or more sublayouts and other presentation components to populate that layout. You can bind sublayouts statically to a layout or another sublayout, or dynamically to a placeholder in a layout or nested sublayout using layout details.

Sitecore manages sublayouts definition items beneath the /Sitecore/Layout/Sublayouts item in the content tree. Layout definition items use the System/Layout/Sublayout data template. The Path field in the Data section of each layout definition item references the path to an .ascx file relative to the document root of the Web site.

ASP.NET supports master pages, which provide some of the features that layouts provide. Master content pages (which use the .aspx extension) contain content and reference master pages (.master files) that control presentation.18 ASP.NET master pages contain controls that ASP.NET applies to multiple content pages. Sitecore enhances the ASP.NET page generation process by providing abstract content storage and declarative layout details stored in a database rather than on a file system.