I think Microsoft must have a reason for enhancing ASP.Net with RAZOR syntax.
On the Create New Website Project dialog of visual studio, there is another o
There are not code-behinds by default, but you can easily make your razor file inherits from your custom class:
@inherits Index
and then
public class Index : WebViewPage { }
(More information here: http://www.compiledthoughts.com/2011/01/aspnet-mvc3-creating-razor-view-engine.html)
This is more like an old-fashioned way of doing web, more asp3-like. The difference with mvc is that mvc provides a huge framework that supports real world applications (using routing, controller and actions, and not just "code there in the markup").
I think it exists for making things that are really simple, but I don't actually know...
Finally, I would always chose asp.net mvc with razor.
Hope it helps