Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

MVC 3 ASPX VS RAZOR View Engine [closed]

Hi i just downloaded MVC 3 and found an new view engine called "RAZOR". How is it useful?

What benefits does it provide?

How is different from ASPX pages?

Where should one use RAZOR view engine?

like image 726
Shailender Singh Avatar asked Jul 04 '11 09:07

Shailender Singh


2 Answers

Scott Gu covered most of your questions in his Razor introductory blog post:

The new view-engine option we’ve been working on is optimized around HTML generation using a code-focused templating approach

...

  • Compact, Expressive, and Fluid: Razor minimizes the number of characters and keystrokes required in a file, and enables a fast, fluid coding workflow. Unlike most template syntaxes, you do not need to interrupt your coding to explicitly denote server blocks within your HTML. The parser is smart enough to infer this from your code. This enables a really compact and expressive syntax which is clean, fast and fun to type.

  • Easy to Learn: Razor is easy to learn and enables you to quickly be productive with a minimum of concepts. You use all your existing language and HTML skills.

  • Is not a new language: We consciously chose not to create a new imperative language with Razor. Instead we wanted to enable developers to use their existing C#/VB (or other) language skills with Razor, and deliver a template markup syntax that enables an awesome HTML construction workflow with your language of choice.

  • Works with any Text Editor: Razor doesn’t require a specific tool and enables you to be productive in any plain old text editor (notepad works great).

  • Has great Intellisense: While Razor has been designed to not require a specific tool or code editor, it will have awesome statement completion support within Visual Studio. We’ll be updating Visual Studio 2010 and Visual Web Developer 2010 to have full editor intellisense for it.

  • Unit Testable: The new view engine implementation will support the ability to unit test views (without requiring a controller or web-server, and can be hosted in any unit test project – no special app-domain required).
like image 178
Darin Dimitrov Avatar answered Sep 19 '22 03:09

Darin Dimitrov


Difference Between Razor View Engine and ASPX View Engine in MVC

http://royalarun.blogspot.in/2013/12/difference-between-razor-view-engine.html

ASPX View Engine is the default view engine for the Asp.net MVC that is included with Asp.net MVC from the beginning.
Razor Engine is an advanced view engine that was introduced with MVC3. This is not a new language but it is a new markup syntax.

ASPX View Engine doesn't support TDD (Test Driven Development)
Razor Engine supports TDD (Test Driven Development)

ASPX View Engine support design mode in visual studio means you can see your page look and feel without running the application.
Razor Engine, doesn't support design mode in visual studio means you cann't see your design page look and feel.

ASPX View Engine is faster than Razor Engine.
Razor Engine is little bit slow as compared to Webform Engine.

Syntax Webform uses <% and %> for example

< %: Html.ActionLink("SignUp", "SignUp") % >  

Razor uses @ symbol for example

@Html.ActionLink("SignUp", "SignUp")

ASPX View Engine does not prevent XSS attacks means any script saved in the database will be fired while rendering the page.
Razor Engine prevents XSS attacks(Cross-Site Scripting Attacks) means it encodes the script or html tags like <,> before rendering to view.

like image 25
Arun Prakash Avatar answered Sep 17 '22 03:09

Arun Prakash