Razor syntax helps developers to execute the code based on some condition specified like if-else or may be switch statement. Programmer can easily decide, which statement(s) need to be executed, based on the condition given within if statement.
IF-Else Statement:
To test a condition by using IF statement, write a condition in if parenthesis, start an IF block and at the last write the statements to be executed in the curly braces i.e. called if block. This block will be execute when the given condition is true, to execute some statements on the false of this condition, programmer have to write ELSE part.
@{
var value = 5;
}
@if (value >4)
{
<p style="font-size:20px; font-weight:bold">Value is greater than "4"</p>
}
else
{
<p style="font-size:20px; font-weight:bold">Value is less than or equal to "4"</p>
}
In the above block variable value have initial value 5. According to the given condition the first block will execute. If we change the value as 4 then it will execute the second block i.e. ELSE part of the statement. What if we have some more condition to be check, either we have to use if-else if-else condition or switch statement.
Switch Statement
To execute statements based on number of individual conditions, switch statement is used by the developer. Switch statement specifies some cases to be check by compiler and execute the statements written in particular case on which condition matches. Just notice the following lines of code:
@switch (value)
{
case 5: <p>Value is: 5</p>
break;
case 4:
case 3:
case 2: <p>Value is >= 2 and <=4</p>
break;
case 1: <p>Value is: 1</p>
break;
default: <p>Value is either <1 or >5</p>
break;
}
Here, I have specified individual statement for case 1 and 5 but a single statement for case 2, 3 and 4. This feature of switch statement is used when a single statement is to be executing for one or more cases. Now for value = 2 /3/4 a single statement “Value is >= 2 and <=4” will execute.
Like in if condition the else part will execute when false, switch statement provides “default” case for all other case except specified. This value can also be changed or assigned at runtime to execute code dynamically.