Razor is an ASP.NET programming syntax used to create dynamic web pages with the C# or Visual Basic programming languages. Razor was in development in June 2010[1] and was released for Microsoft Visual Studio 2010 in January 2011.[2] Razor is a simple-syntax view engine and was released as part of ASP.NET MVC 3 and the WebMatrix tool set.[2]
Razor View Engine Information | |
---|---|
Developer(s) | Microsoft |
Initial release | January 2011 |
Stable release | ASP.NET MVC 3
/ 11 January 2011 |
Written in | C#, VB, HTML |
Operating system | Microsoft Windows |
Type | Web application framework |
License | Proprietary |
Website | www |
Razor View Engine File Format | |
---|---|
Filename extension |
.CSHTML or .VBHTML |
Internet media type |
text/html |
Developed by | Microsoft |
Introduction
The Razor syntax is a template markup syntax that enables the programmer to use an HTML construction workflow and is based on the C# programming language. Instead of using the ASP.NET .ASPX markup syntax using <%= %>
blocks to indicate code blocks the Razor syntax starts of a code block with Razor using a @ character and does not require explicit closing of the code-block.
Advantages of Razor
The idea of Razor was to create an optimized syntax for HTML generation using a code-focused templating approach using a minimization of transition between HTML and code.[3] The design reduces the number of characters and keystrokes required and enables a more fluid coding workflow by not having to explicitly denote server blocks within the HTML code.[1] Other advantages that have been noted:
- Is not a new language (no major changes to learn)
- Supports Intellisense (statement completion support)
- Unit Testable
Criticism
Using the Razor syntax could be awkward for programmers used to prior markup syntax and although it does cause complex views to be more readable there is minimum editing advantage for smaller views. The current ASP.NET MVC 3 does not yet support syntax highlight for Razor views.[5]