ASP.NET WP - View Engines

The View Engine in ASP.NET is used to translate our views to HTML and then render them to the browser. By default, ASP.Net supports ASPX and the Razor View Engine. The view engine templates have a different syntax than the implementation. In this chapter, we will discuss the two most important view engines which are −
ASPX View Engine also known as Web Form View Engine and
ASPX View Engine also known as Web Form View Engine and
Razor View Engine
Razor View Engine
There are many more third-party view engines, like Spark, Nhaml, etc.
ASPX or Web Form Engine is the default view engine for ASP.NET that is included with ASP.NET MVC from the beginning itself.
The syntax used for writing a view with the ASPX View Engine is the same as the syntax used in the ASP.NET web forms.
The syntax used for writing a view with the ASPX View Engine is the same as the syntax used in the ASP.NET web forms.
The file extensions are also the same as for ASP.NET web forms (like .aspx, .ascx, .master).
The file extensions are also the same as for ASP.NET web forms (like .aspx, .ascx, .master).
ASPX uses "<% = %>" or "<% : %>" to render server-side content.
ASPX uses "<% = %>" or "<% : %>" to render server-side content.
The namespace for Webform Engine is System.Web.Mvc.WebFormViewEngine.
The namespace for Webform Engine is System.Web.Mvc.WebFormViewEngine.
ASPX View Engine does nothing to avoid Cross-Site Scripting attacks by default.
ASPX View Engine does nothing to avoid Cross-Site Scripting attacks by default.
ASPX View Engine is comparatively faster than Razor View Engine.
ASPX View Engine is comparatively faster than Razor View Engine.
Razor Engine is an advanced view engine that was introduced with MVC3. It is not a new language, but it is a new markup syntax.
The Razor syntax is based on the C# programming language.
The Razor syntax is based on the C# programming language.
The Razor syntax also supports the Visual Basic language, and everything that we will do using C#, you can do all of that in Visual Basic as well.
The Razor syntax also supports the Visual Basic language, and everything that we will do using C#, you can do all of that in Visual Basic as well.
The namespace for Razor Engine is System.Web.Razor.
The namespace for Razor Engine is System.Web.Razor.
Razor uses the "@" character instead of "<% %>" as used by the ASPX View Engine.
Razor uses the "@" character instead of "<% %>" as used by the ASPX View Engine.
The Razor file extension is "cshtml" for the C# language.
The Razor file extension is "cshtml" for the C# language.
By default, Razor View Engine encodes html tags or scripts before it’s being rendered to view that avoids Cross-Site Scripting attacks.
By default, Razor View Engine encodes html tags or scripts before it’s being rendered to view that avoids Cross-Site Scripting attacks.
Razor View Engine is slow as compared to ASPX View Engine.
Razor View Engine is slow as compared to ASPX View Engine.
To understand the syntax difference, let’s have a look into a simple example that is written in both ASPX and Razor view engines. Following is the code snippet for ASPX view engine.
<%foreach (var student in Students){ %>
   
   <% if (student.IsPassed){ %>
      <% = student.FirstName%> is going to next grade.
   <% } else{ %>
      <% = student. FirstName %> is not going to next grade.
   <% } %>

<% } %>
Following is the same example code written in Razor View engine.
@foreach (var student in Students){
   @if(student.IsPassed){
      @student. FirstName is going to next grade.
   } else {
      @student. FirstName is not going to next grade.
   }
}
If you look at both the above code snippets written in ASPX and Razor syntax, then you can see quite clearly that Razor syntax is clean and simpler as compared to the ASPX syntax. One of the disadvantages of Razor is, it is not supported by visual editors like Dream Viewer.

    51 Lectures 
     5.5 hours 

 Anadi Sharma

    44 Lectures 
     4.5 hours 

 Kaushik Roy Chowdhury

    42 Lectures 
     18 hours 

 SHIVPRASAD KOIRALA

    57 Lectures 
     3.5 hours 

 University Code

    40 Lectures 
     2.5 hours 

 University Code

    138 Lectures 
     9 hours 

 Bhrugen Patel
 Print
 Add Notes
 Bookmark this page