Razor View Layouts in ASP.NET Core allow developers to define a common structure for multiple pages, reducing duplication and maintaining a consistent look and feel across the application. They are similar to master pages in older frameworks.
Key Features:
- Reusable layout templates for multiple pages
- Supports sections and placeholders for dynamic content
- Reduces repetitive HTML in views
- Integrates with Razor Pages and MVC views
- Enhances maintainability and design consistency
Example – Layout Page: _Layout.cshtml
<!DOCTYPE html>
<html>
<head>
<title>@ViewData["Title"] - MyApp</title>
</head>
<body>
<header><h1>MyApp</h1></header>
<main>@RenderBody()</main>
<footer>© 2025 MyApp</footer>
</body>
</html>
Using layout in a Razor view:
@{
Layout = "_Layout";
ViewData["Title"] = "Home Page";
}
<h2>Welcome to MyApp!</h2>
<p>This is the home page.</p>
Razor View Layouts in ASP.NET Core simplify UI management and help maintain a consistent design across all pages.
Citations: