Razor is an ASP.NET programming syntax used to create dynamic web pages with the C# or VB.NET programming languages. Razor was in development in June 2010[4] and was released for Microsoft Visual Studio 2010 in January 2011.[5] Razor is a simple-syntax view engine and was released as part of MVC 3 and the WebMatrix tool set.[5]
Razor became a component of AspNetWebStack and then became a part of ASP.NET Core.[6]
Design
The Razor syntax is a template markup syntax, based on the C# programming language, that enables the programmer to use an HTML construction workflow.[clarification needed] Instead of using the ASP.NET Web Forms (.aspx) markup syntax with <%= %> symbols to indicate code blocks, Razor syntax starts code blocks with an @ character and does not require explicit closing of the code-block.
The idea behind Razor is to provide an optimized syntax for HTML generation using a code-focused templating approach, with minimal transition between HTML and code.[7] The design reduces the number of characters and keystrokes, and enables a more fluid coding workflow by not requiring explicitly denoted server blocks within the HTML code.[4] Other advantages that have been noted:[8]
Supports IntelliSense – statement completion support
Supports "layouts" – an alternative to the "master page" concept in classic Web Forms (.aspx)