0% found this document useful (0 votes)
24 views7 pages

Razor Cheat Sheet

Razor is a markup syntax that lets you embed server-based code like C# into web pages. It covers Razor comments, expressions, blocks, variables, data types, loops, arrays, conditionals, models, functions, templates, and more. Key features include inline C# code, conditional attributes, and using statements. The document provides examples of common Razor syntax like if/else, foreach loops, and accessing view models to display data.

Uploaded by

keilacastrom
Copyright
© © All Rights Reserved
Available Formats
Download as PDF, TXT or read online on Scribd
Download as pdf or txt
0% found this document useful (0 votes)
24 views7 pages

Razor Cheat Sheet

Razor is a markup syntax that lets you embed server-based code like C# into web pages. It covers Razor comments, expressions, blocks, variables, data types, loops, arrays, conditionals, models, functions, templates, and more. Key features include inline C# code, conditional attributes, and using statements. The document provides examples of common Razor syntax like if/else, foreach loops, and accessing view models to display data.

Uploaded by

keilacastrom
Copyright
© © All Rights Reserved
Available Formats
Download as PDF, TXT or read online on Scribd
Download as pdf or txt
Download as pdf or txt
You are on page 1/ 7

jasonwilliams@letuscode.co.

uk

ASP.NET Razor - C# Code Syntax

Index
Razor Comments
Inline expression
Multi-statement block
Store String
Store Date
Store Date
Variables
Convert Data Types
Loops
Arrays
Conditionals
Using
Models View
Dependency Injection
Add Functions
Create Templates
Conditional Attributes
Forms
Add Partials
Add link to a page
Loop through a list and output

Razor is a markup syntax that lets you embed server-based code (Visual Basic and C#) into web
pages

Razor Comments

@* A one-line code comment. *@

@*
This is a multiline code comment.
It can continue for any number of lines.
*@

@{
@* This is a comment. *@
var theVar = 17;
}

back to top
1
jasonwilliams@letuscode.co.uk

Single statement block

@{ var myMessage = "Hello World"; }

Inline expression

@{ var myMessage = "Hello World"; }

Multi statement block

@{
var greeting = "Welcome to our site!";
var weekDay = DateTime.Now.DayOfWeek;
var greetingMessage = greeting + " Here in Huston it is: " + weekDay;
}
<p>The greeting is: @greetingMessage</p> }

back to top

Store String

/* A string is a sequence of characters that are treated as text. To specify a string, you enclose it in double quota

@{ var welcomeMessage = "Welcome, new members!"; }


<p>@welcomeMessage</p>

Store Date

@{ var year = DateTime.Now.Year; }

back to top

Read User Input

@{
var totalMessage = "";
if(IsPost)
{
var num1 = Request["text1"];
var num2 = Request["text2"];
var total = num1.AsInt() + num2.AsInt();
totalMessage = "Total = " + total;
}
}

back to top

Variables

@{
// Assigning a string to a variable.
var greeting = "Welcome!";

// Assigning a number to a variable.


var theCount = 3;

// Assigning an expression to a variable.


var monthlyTotal = theCount + 5;

// Assigning a date value to a variable.


var today = DateTime.Today;

// Assigning the current page's URL to a variable.


var myPath = this.Request.Url;
2
jasonwilliams@letuscode.co.uk

// Declaring variables using explicit data types.


string name = "Joe";
int count = 5;
DateTime tomorrow = DateTime.Now.AddDays(1);
}

Display Variables

@{
// Embedding the value of a variable into HTML markup.
<p>@greeting, friends!</p>

// Using variables as part of an inline expression.


<p>The predicted annual total is: @( monthlyTotal * 12)</p>

// Displaying the page URL with a variable.


<p>The URL to this page is: @myPath</p>
}

back to top

Convert Data Types

Method Description Examples

AsInt(), if (myString.IsInt())
Converts a string to an integer.
IsInt() {myInt=myString.AsInt();

if (myString.IsFloat())
AsFloat(), IsFloat() Converts a string to a floating-point number.
{myFloat=myString.AsFloat();}

if (myString.IsDecimal())
AsDecimal(), IsDecimal() Converts a string to a decimal number..
{myDec=myString.AsDecimal();}

myString="10/10/2012";
AsDateTime(), IsDateTime() Converts a string to an ASP.NET DateTime type.
myDate=myString.AsDateTime();

AsBool(), myString="True";
Converts a string to a Boolean..
IsBool() myBool=myString.AsBool();

myInt=1234;
ToString() Converts any data type to a string.
myString=myInt.ToString();

Coverting Data Types example

@{
var total = 0;

if(IsPost) {
// Retrieve the numbers that the user entered.
var num1 = Request["text1"];
var num2 = Request["text2"];
// Convert the entered strings into integers numbers and add.
total = num1.AsInt() + num2.AsInt();
}
}

back to top

Loops

Standard Loop

@for (var i = 0; i < people.Length; i++)


{
var person = people[i];
<text>Name: @person.Name</text>
}

ForEach Loops

<ul>
@foreach (var myItem in Request.ServerVariables)
{
<li>@myItem</li>
}
</ul> 3
jasonwilliams@letuscode.co.uk

While Loops

@{
var countNum = 0;
while (countNum < 50)
{
countNum += 1;
<p>Line #@countNum: </p>
}
}

back to top

Arrays

@{
string[] members = {"Jani", "Hege", "Kai", "Jim"};
int i = Array.IndexOf(members, "Kai")+1;
int len = members.Length;
string x = members[2-1];
}
<html>
<body>
<h3>Members</h3>
@foreach (var person in members)
{
<p>@person</p>
}
<p>The number of names in Members are @len</p>
<p>The person at position 2 is @x</p>
<p>Kai is now in position @i</p>
</body>
</html>

back to top

Conditionals

If

@{
var showToday = true;
if(showToday)
{
@DateTime.Today;
}
}

If Else

@{
var showToday = false;
if(showToday)
{
@DateTime.Today;
}
else
{
<text>Sorry!</text>
}
}

Else If

@{
var theBalance = 4.99;
if(theBalance == 0)
{
<p>You have a zero balance.</p>
}
else if (theBalance > 0 && theBalance <= 5)
{
<p>Your balance of $@theBalance is very low.</p>
}
else
{
4
jasonwilliams@letuscode.co.uk
<p>Your balance is: $@theBalance</p>
}
}

Switch Statement

@{
var weekday = "Wednesday";
var greeting = "";

switch(weekday)
{
case "Monday":
greeting = "Ok, it's a marvelous Monday";
break;
case "Tuesday":
greeting = "It's a tremendous Tuesday";
break;
case "Wednesday":
greeting = "Wild Wednesday is here!";
break;
default:
greeting = "It's some other day, oh well.";
break;
}

<p>Since it is @weekday, the message for today is: @greeting</p>


}

Try Catch Finally

@try
{
throw new InvalidOperationException("You did something invalid.");
}
catch (Exception ex)
{
<p>The exception message: @ex.Message</p>
}
finally
{
<p>The finally statement.</p>
}

back to top

Using

/* The @using directive adds the C# using directive to the generated view:*/

@using System.IO
@{
var dir = Directory.GetCurrentDirectory();
}
<p>@dir</p>

back to top

Models View

// The @model directive specifies the type of the model passed to a view:

@model TypeNameOfModel

Access Model

<div>The Login Email: @Model.Email</div>

Dependency Injection

@inject +ServiceName

back to top
5
jasonwilliams@letuscode.co.uk

Add Functions

@functions {
public string GetHello()
{
return "Hello";
}
}

<div>From method: @GetHello()</div>

back to top

Create Templates
Create a class

public class Pet


{
public string Name { get; set; }
}

create a . cshtml page

@{
Func<dynamic, object> petTemplate = @<p>You have a pet named @item.Name.</p>;

var pets = new List<Pet>


{
new Pet { Name = "Rin Tin Tin" },
new Pet { Name = "Mr. Bigglesworth" },
new Pet { Name = "K-9" }
};

<!-- The template is rendered with pets supplied by a foreach statement: -->

@foreach (var pet in pets)


{
@petTemplate2(pet)
}
}

Rendered output

<p>You have a pet named <strong>Rin Tin Tin</strong>.</p>


<p>You have a pet named <strong>Mr. Bigglesworth</strong>.</p>
<p>You have a pet named <strong>K-9</strong>.</p>

back to top

Conditional Attributes

@{
string divStyle = null;
if(Request.QueryString["style"] != null)
{
divStyle = "background-color: yellow;";
}
}
<div style="@divStyle">Hello, world!</div>

back to top

Forms

<form method="post">
<div asp-validation-summary="ModelOnly" class="text-danger"></div>
<div class="form-group">
<label asp-for="Movie.Title" class="control-label"></label>
<input asp-for="Movie.Title" class="form-control" />
<span asp-validation-for="Movie.Title" class="text-danger"></span>
</div>
<div class="form-group">
6
jasonwilliams@letuscode.co.uk
<label asp-for="Movie.ReleaseDate" class="control-label"></label>
<input asp-for="Movie.ReleaseDate" class="form-control" />
<span asp-validation-for="Movie.ReleaseDate" class="text-danger"></span>
</div>
<div class="form-group">
<input type="submit" value="Create" class="btn btn-default" />
</div>
</form>

back to top

Add Partials

@section Scripts {
@{await Html.RenderPartialAsync("_ValidationScriptsPartial");}
}

back to top

Add link to a page

<div>
<a asp-page="./Index">Back to List</a>
</div>

back to top

Loop through a list and output

<tbody>
@foreach (var item in Model.Movie)
{
<tr>
<td>
@Html.DisplayFor(modelItem => item.Title)
</td>
<td>
@Html.DisplayFor(modelItem => item.ReleaseDate)
</td>
<td>
@Html.DisplayFor(modelItem => item.Genre)
</td>
<td>
@Html.DisplayFor(modelItem => item.Price)
</td>
<td>
<a asp-page="./Edit" asp-route-id="@item.ID">Edit</a> |
<a asp-page="./Details" asp-route-id="@item.ID">Details</a> |
<a asp-page="./Delete" asp-route-id="@item.ID">Delete</a>
</td>
</tr>
}
</tbody>

back to top

You might also like