net-core
  1. net-core-razor

Razor - ASP.NET Core MVC

Razor is a markup syntax used in ASP.NET Core MVC to create dynamic, server-side web pages. Razor files allow for more natural development of web applications, with an easy-to-use syntax that blends HTML markup and server-side C# code.

Syntax

The Razor syntax uses @ to indicate code statements, and the code block must begin with @{ and end with }. Razor syntax is typically used inside an HTML element or attribute. Here's an example:

@if (Model.HasProducts)
{
   <table>
      <thead>
         <tr>
            <th>Product Name</th>
            <th>Price</th>
         </tr>
      </thead>
      <tbody>
         @foreach (var product in Model.Products)
         {
            <tr>
               <td>@product.Name</td>
               <td>@product.Price</td>
            </tr>
         }
      </tbody>
   </table>
}
else
{
   <p>No products available.</p>
}

Example

Here's an example of using Razor syntax to create a simple web page:

<!DOCTYPE html>
<html>
<head>
    <title>Welcome to my website!</title>
</head>
<body>
    <h1>Welcome to my website!</h1>
    @if (User.Identity.IsAuthenticated)
    {
        <p>Hello, @User.Identity.Name!</p>
    }
    else
    {
        <p>Please log in to continue.</p>
    }
</body>
</html>

Output

When a Razor file is loaded in a web browser, the server processes the C# code blocks and HTML markup to generate dynamic web content that is sent to the browser. The web page output will depend on any conditions specified in the C# code, as well as any data provided by a backing controller or model.

Explanation

Razor syntax allows you to mix server-side C# code with HTML markup, providing a more fluid and natural way to build dynamic web pages. At runtime, the server renders the Razor HTML with the output of any C# code blocks.

Use

You can use Razor syntax to create dynamic, data-driven web pages in an ASP.NET Core MVC application. Razor files are typically organized into "views," which represent the visual presentation of your web application. Views are usually tied to a specific controller action, and display data passed from the controller to the view.

Important Points

  • Razor syntax uses @ to indicate code statements, and code blocks start with @{ and end with }.
  • Razor files can be used to create dynamic web pages in an ASP.NET Core MVC application.
  • Razor files are typically organized into "views," which represent the visual presentation of your web application.

Summary

Razor syntax is a powerful feature of ASP.NET Core MVC that allows for dynamic, data-driven web pages. By mixing HTML markup and server-side C# code, Razor files provide an easy-to-use syntax for building web applications in an intuitive and natural way.

Published on: