introducing razor - a new view engine for asp.net

15
Introducing Razor Shiju Varghese Blog : http://weblogs.asp.net/shijuvarghese Twitter : http ://twitter.com/shijucv Email : [email protected] A new view engine for ASP.NET

Upload: shiju-varghese

Post on 17-May-2015

3.805 views

Category:

Documents


9 download

DESCRIPTION

An Introducing to Razor view engine for ASP.NET

TRANSCRIPT

Page 1: Introducing Razor - A new view engine for ASP.NET

Introducing Razor

Shiju VargheseBlog : http://weblogs.asp.net/shijuvargheseTwitter : http://twitter.com/shijucvEmail : [email protected]

A new view engine for ASP.NET

Page 2: Introducing Razor - A new view engine for ASP.NET

Who Am I?• Microsoft MVP on ASP.NET• Solution Architect• Focus on Microsoft Web Platform stack• Agile Enthusiast• Technology Consultant – Web Apps/ASP.NET MVC/EF• Blog: http://weblogs.asp.net/shijuvarghese• Twitter: @shijucv

Page 3: Introducing Razor - A new view engine for ASP.NET

Session Objectives

• Introduction to Razor• Introduction to Razor Syntax• Demonstrate Razor syntax in ASP.NET MVC 3 Views

Page 4: Introducing Razor - A new view engine for ASP.NET

New tools from Microsoft Web Platform• Web Matrix• IIS Express• ASP.NET Web Pages• SQL Server Compact

• Razor • NuGet

Page 5: Introducing Razor - A new view engine for ASP.NET

Introduction to Razor• A new view-engine option for ASP.NET• A simplified syntax• Its not a new language • A code focused templating syntax optimized around HTML

generation• Shared by ASP.Net web pages and ASP.Net MVC• Works with any Text Editor• IntelliSense with Visual Studio 2010/ VWD 2010• CSHTML (C#) and VBHTML (VB.NET)• Unit Testable

Page 6: Introducing Razor - A new view engine for ASP.NET

ASP.NET Razor Support

• ASP.NET Web Pages• Using for inline programming

• ASP.NET MVC 3• Using for ASP.NET MVC Views

• Tools• Web Matrix• Visual Studio 2010• Visual Web Developer 2010

• Languages• C#• VB.Net

Page 7: Introducing Razor - A new view engine for ASP.NET

@ character• @ character is using for insert server side code• Single statement blocks

@{ var myMessage = "Hello World"; }• Starts inline expressions

<p>The value of myMessage is: @myMessage</p>• Multi-statement blocks

@{var greeting = "Welcome to our Razor!";var weekDay = DateTime.Now.DayOfWeek;var greetingMessage = greeting + " Today is: " + weekDay;}

Page 8: Introducing Razor - A new view engine for ASP.NET

Razor Syntax

• Web Forms syntax<% for (int i = 0; i < 10; i++) { %> <li><% =i %></li><% } %>

• Razor syntax@for (int i = 0; i < 10; i++) {

<li>@i</li>}

Page 9: Introducing Razor - A new view engine for ASP.NET

Razor Syntax

@{var name = “Shiju”;var title=“Architect”;<div>

Name: @nameTitle: @title

</div>}

Page 10: Introducing Razor - A new view engine for ASP.NET

Layout page• Share common html across many pages

• Layout page:_LayoutPage.cshtml<html><title>@Page.Title</title><body>

<div> @Html.Partial("_Header") </div>@RenderBody()<div> @Html.Partial("_Footer")</div>

</body>

Page 11: Introducing Razor - A new view engine for ASP.NET

Using Layout page

@{Page.Title = “Your Page Title”;Layout = "_Layout.cshtml";

}

Page 12: Introducing Razor - A new view engine for ASP.NET

_PageStart.cshtml

• Run code for each page• Setup layout page for an entire folder

Page 13: Introducing Razor - A new view engine for ASP.NET

Using Helper• App_Code/RazorHelper.cshtml

@helper ShowCopyright() {<div>Copyright Shiju Varghese @DateTime.Now.Year </div>

Using a [email protected]()

Page 14: Introducing Razor - A new view engine for ASP.NET

Demo

Page 15: Introducing Razor - A new view engine for ASP.NET

Thanks