RazorPages制御フロー

Razor Pagesの if else による条件分岐のコードと実行結果

Razor Pagesでif文を利用した条件判定のコードと実行結果を紹介します。

書式

コードブロック内の場合

if (条件式) ...処理;

条件式が真(true)である場合は()以降の処理が実行されます。

if (条件式){
  ...処理
}

処理が複数行にわたる場合は{ } (中括弧)によるブロックを記述できます。条件式が真(true)の場合は { }ブロック内の処理が実行されます。

if (条件式) ...処理; else ...処理;

条件式が偽(false)である場合の処理を記述する場合は、else文を利用します。 条件式が真(true)である場合は()以降の処理が、条件式が偽(false)である場合はelse以降の処理が実行されます。

if (条件式){
  ...処理
}
else{
}

else分の場合も処理が複数行にわたる場合は{ } (中括弧)によるブロックを記述できます。 条件式が真(true)の場合は条件式直後の{}ブロック内の処理が、条件式が偽(false)の場合はelse直後の{ }ブロック内の処理が実行されます。

if (条件式){
  ...処理
}
else if (条件式){
  ...処理
}
else{
  ...処理
}

条件式が偽(false)の場合にさらにif文で判定する場合には else if 文を利用します。
条件式が真(true)の場合は条件式直後の{ }ブロック内の処理が、条件式が偽(false)の場合はelse ifの条件式の判定が実行され、 真(true)ならばelse if直後の{ } ブロック内の処理が実行されます。else if の条件式も偽(false)であった場合はelse直後の{ }ブロック内の処理が実行されます。

補足
コードブロック外の場合はif文の前に@を記述します。

実装例

コード

以下のcshtmlファイルを作成します。

SimpleIfElse.cshtml
@page
@model RazorPagesControlFlow.Pages.SimpleIfElseModel
@{
  string option = HttpContext.Request.Query["id"].ToString();
}
<h1>If Else文のデモ</h1>

<p>テスト</p>
@{
  if (option == "penguin")
  {
    <p>IDに"penguin"が指定されました。</p>
  }
  else if (option == "")
  {
    <p>IDが指定されていません。</p>
  }
  else{
    <p>IDが指定されました。</p>
  }
}
<p>ページの終わり</p>

SimpleIfElse.cshtml.cs
using Microsoft.AspNetCore.Mvc;
using Microsoft.AspNetCore.Mvc.RazorPages;

namespace RazorPagesControlFlow.Pages
{
    public class SimpleIfElseModel : PageModel
    {
        public void OnGet()
        {
        }
    }
}

解説

URLパラメーターの id の値によってページの表示を出し分けします。
id=penguin が設定された場合は 「IDに"penguin"が指定されました。」のメッセージを表示します。 idパラメーターが指定されていない場合は「IDが指定されていません。」のメッセージを表示し、 パラメーターが指定されている場合は「IDが指定されました。」のメッセージを表示します。

実行結果

プロジェクトを実行します。
(アプリケーションルートURL)/SimpleIfElseのURLにアクセスします。下図のページが表示されます。 idパラメータが指定されていないため、「IDが指定されていません。」のメッセージがページに表示されます。
Razor Pagesの if else による条件分岐のコードと実行結果:画像1

URLを (アプリケーションルートURL)/SimpleIfElse?id=penguin に変更してアクセスします。 id=penguinが指定されているため、「IDに"penguin"が指定されました。」のメッセージがページに表示されます。
Razor Pagesの if else による条件分岐のコードと実行結果:画像2

URLを (アプリケーションルートURL)/SimpleIfElse?id=duck に変更してアクセスします。 idオプションは指定されていますが、"penguin" ではないため、「IDが指定されました。」のメッセージがページに表示されます。
Razor Pagesの if else による条件分岐のコードと実行結果:画像3

Razor PagesでのIf文によるの条件分岐ができました。

AuthorPortraitAlt
著者
iPentecのメインプログラマー
C#, ASP.NET の開発がメイン、少し前まではDelphiを愛用
作成日: 2025-01-19
Copyright © 1995–2025 iPentec all rights reserverd.