title: Asp.Net Webforms Vs Asp.Net WebSite(Razor) Vs Asp.Net MVC
body: <p>I think Microsoft must have a reason for enhancing ASP.Net with RAZOR syntax. </p>
  
  <p>On the <em>Create New Website Project</em> dialog of visual studio, there is another option for creating ASP.Net (Razor). The first time I came across the term <em>Razor</em> was when I read a book on Asp.Net MVC, I didn't know it exists for ASP.Net</p>
  
  <p><img src="https://i.stack.imgur.com/9tz5M.png" alt="enter image description here"></p>
  
  <p>I know what the Razor syntax is for, introduced in MVC 3. Before asking this question, I decided to create a test project for ASP.Net (Razor) and see how it is different from the normal ASP.Net webforms and ASP.Net MVC. I discovered no Model/View/Controllers folders like we have in MVC.</p>
  
  <p>I discovered that the Master page is specified differently and the Master page is cleaner, no more <code>&lt;asp:ContentPlaceHolder /&gt;</code></p>
  
  <p>But my questions are:</p>
  
  <ul>
  <li>I notice it uses <code>.cshtml</code>, are there no more codebehinds?</li>
  <li>similarities and differences between ASP.Net (Razor) and ASP.Net MVC</li>
  <li>Can it be extended to function like ASP.Net MVC e.g. adding Controller?View/Model, Custom Routing I guess?</li>
  <li>Why does this exist when we have ASP.Net MVC? Wouldn't this encourage reluctance to move to ASP.Net MVC?</li>
  <li><strong>and why would you choose ASP.Net+Razor over ASP.Net MVC?</strong></li>
  </ul>
  
  <blockquote>
    <p><strong>UPDATE:</strong> <a href="http://www.asp.net/web-pages/overview/getting-started/aspnet-web-pages-%28razor%29-faq">ASP.NET Web Pages in particular was designed</a> to make it easy for
    people who already know HTML to add server processing to their pages.
    It's a good choice for students, hobbyists, people in general who are
    new to programming. It can also be a good choice for developers who
    have experience with non-ASP.NET web technologies</p>
    
    <p><strong>Update</strong> <a href="http://www.asp.net/web-forms/tutorials/aspnet-45/getting-started-with-aspnet-45-web-forms/create-the-project">ASP.NET Web Pages</a> ASP.NET Web Pages targets developers who want a simple web development story, along the lines of PHP. In the Web Pages model, you
    create HTML pages and then add server-based code to the page in order
    to dynamically control how that markup is rendered. Web Pages is
    specifically designed to be a lightweight framework, and it's the
    easiest entry point into ASP.NET for people who know HTML but might
    not have broad programming experience — for example, students or
    hobbyists. It's also a good way for web developers who know PHP or
    similar frameworks to start using ASP.NET.</p>
    
    <p><a href="http://www.asp.net/web-pages">Asp.Net Web Pages</a></p>
  </blockquote>
  
  <p>Please, I need your technical opinion.
  Thanks.</p>