Desde la aparición de Visual Studio 2010 en las aplicaciones MVC se utiliza Razor pero… ¿qué es Razor en ASP Net?
Razor no es un lenguaje de programación sino que es un código insertado en ficheros .cshtml (c#) o .vbhtml (visual basic) que interpreta el servidor. Es decir, Razor es un marcado que «escapa» el código html para utilizar el que es en realidad el verdadero lenguaje de programación (C# o Visual Basic). El caracter con el que «escapa» el código html es @.
Cuando conocí Razor la primera idea que me vino a la cabeza fue que esto llevaba inventado mucho tiempo pero con otros nombres: asp clásico, php incluso en asp.net se puede «escapar» el código con las etiquetas <%%>. Todo esto es cierto pero la ventaja fundamental que ofrece Razor es su simplicidad que se traduce posteriormente en una mayor legibilidad del código.
Un ejemplo:
ASP.Net Sin Razor:
ASP.Net con Razor:
En mi opinión es muy fácil de aprender, se mejora la legibilidad y más sencillo de escribir. Además en Visual Studio funciona el Intellisense.