ASP.NET Razor - C# 逻辑条件
编程逻辑:执行基于条件的代码。
If 条件
C# 允许您执行基于条件的代码。
如需测试某个条件,您可以使用 if 语句。if 语句会基于您的测试来返回 true 或 false:
- if 语句启动代码块
- 条件位于括号中
- 如果条件为真,则执行花括号中的代码
实例
- @{var price=50;}
- <html>
- <body>
- @if (price>30)
- {
- <p>The price is too high.</p>
- }
- </body>
- </html>
Else 条件
if 语句能够包含 else 条件。
else 条件定义条件为 false 时执行的代码。
实例
- @{var price=20;}
- <html>
- <body>
- @if (price>30)
- {
- <p>The price is too high.</p>
- }
- else
- {
- <p>The price is OK.</p>
- }
- </body>
- </html>
注释:在上面的例子中,如果价格不大于 30,则执行其余的语句。
Else If 条件
可通过 else if 条件来测试多个条件:
实例
- @{var price=25;}
- <html>
- <body>
- @if (price>=30)
- {
- <p>The price is high.</p>
- }
- else if (price>20 && price<30)
- {
- <p>The price is OK.</p>
- }
- else
- {
- <p>The price is low.</p>
- }
</body>- </html>
在上面的例子中,如果第一个条件为 true,则执行第一个代码块。
否则,如果下一个条件为 true,则执行第二个代码块。
您能够设置任意数量的 else if 条件。
如果 if 和 else if 条件均不为 true,则执行最后一个 else 代码块。
Switch 条件
switch 代码块可用于测试一系列具体的条件:
实例
- @{
- var weekday=DateTime.Now.DayOfWeek;
- var day=weekday.ToString();
- var message="";
- }
- <html>
- <body>
- @switch(day)
- {
- case "Monday":
- message="This is the first weekday.";
- break;
- case "Thursday":
- message="Only one day before weekend.";
- break;
- case "Friday":
- message="Tomorrow is weekend!";
- break;
- default:
- message="Today is " + day;
- break;
- }
- <p>@message</p>
- </body>
- </html>
测试值 (day) 位于括号中。每个具体的测试条件以 case 关键词开头,以冒号结尾,其后允许任意数量的代码行,以 break 语句结尾。如果测试值匹配 case 值,则执行代码行。
switch 代码块可为其余的情况设置默认的 case (default:),允许在所有 case 均不为 true 时执行代码。