View Engine renders the view into HTML form to the browser. If we talk about a MVC application in the .Net Framework, it supports the following 2 view engines:
- Razor View Engine
- Web Form/Aspx View Engine
Differences
- Entry with ASP.NET MVC
 
- Razor View Engine is an advanced view engine and introduced with MVC3. This is not a language but it is a markup syntax.
- ASPX View Engine is the default view engine for the ASP.NET MVC that is included with ASP.NET MVC from the beginning.
 
 ![Razor and ASPX View]() 
 
 
- Namespace
 
 
- Razor View Engine supports System.Web.Razor.
- ASPX View Engine supports System.Web.Mvc.WebFormViewEngine.
 
- Layout /MasterPage
 
- In Razor View Engine we use Layouts.
- In ASPX View Engine we use masterPages.
 
 ![Layout]() 
 
 
- PartialPage /WebUserControl
 
 
- In Razor View Engine we use PartialPage.
- In ASPX View Engine we use WebUserControls.
 
 ![PartialPage]() 
 
 
- Extension 
 
 
- Razor View Engine has .cshtml (with C#) and .vbhtml (with VB) extension for views, Layout and Partial views.
- ASPX View Engine has a similar extension as in a simple web application like .aspx for the views, .acsx for UserControls and .master for Master Pages.
 
 ![Extension]() 
 
 
- Performance
 
 
- Razor Engine is a little slow compared to Aspx Engine.
- Aspx Engine is faster compared to Razor Engine.
 
- Syntax
 
 
- ‘@’ symbol uses in Razor Engine to write the code. @Html.ActionLink("Login", "LoginView") 
- ‘<%:’ delimiters use as starting point and ‘ %>’ use as ending point. You can write the code between them in ASPX Engine.
 <%: Html.ActionLink("Login ", " LoginView ") %>  
 
 ![ActionLink]() 
 
 
- Cross-Site Scripting Attacks
 
 
- Razor Engine prevents Cross-Site Scripting Attacks, in other words it encodes the script or HTML tags like <,> before rendering to view.
- ASPX Engine does not prevent Cross-Site Scripting Attacks, in other words any script saved in the database will be fired while rendering the page.