本文へスキップ
BecomeCoder

Blazorコース · 第1章 Blazorの世界 ― C#で作るWeb UI · レッスン2

最初のコンポーネント ― Razor構文で値を埋め込む

ブラウザで完結

導入

Blazorのコンポーネントは.razorファイルです。中身はほとんどHTMLですが、**@を付けるとそこからC#**になります。文字列補間$"{x}"のHTML版だと思ってください。まずはC#の値を画面に出すところから始めます。

説明

@変数@式と書くと、その場所にC#の値が埋め込まれます。

<h3>はじめての Blazor コンポーネント</h3>
<p>これは .razor ファイル。HTMLとC#が同居します。</p>
<p>今の気分は「@mood」です。</p>

@code {
    // @code ブロックの中は、これまで学んだC#そのまま
    private string mood = "ごきげん";
}
  • .razorHTML+C#@code { ... }の中は普通のC#(フィールドやメソッド)
  • @moodのように@変数名で、C#の値をHTMLに差し込む
  • @はHTMLとC#の境目の合図。それ以外はそのままHTMLとして表示される

やってみよう

右のプレビューに上の.razorが入っています。moodの値を書き換えると、@moodの表示が変わります。<p>をもう1行足して、別のフィールド(例: private string name = "…";)を@nameで表示してみましょう。

演習

@codeprivate int year = 2026;を足し、本文に「今年は @year 年です」と表示してください。

ヒント1を見る

@code { }の中にフィールドを1行足します(private int year = 2026;)。

ヒント2を見る

本文(HTMLの側)に<p>今年は @year 年です</p>と書けば埋め込まれます。

次回: @codeの中身をもう少し使って、計算した値を埋め込みます。

実際に動かしてみよう

下のエディタに .razor を書くと、右側のプレビューにその場で Blazor 風のUIが描画されます。`@名前` の埋め込み、`@bind` の双方向バインディング、`@onclick` のカウンターやトグル、`@if`/`@foreach` の分岐・繰り返しはそのまま動きます。本文の .razor を打ち込んだり、`@code` のフィールドやハンドラを書き換えたりして、状態と画面の連動を確かめながら進めましょう(本物のBlazorではなく描画と簡単な対話を再現した学習用プレビューです。DI・HttpClient・JS相互運用や @code の本格的なC#ロジックは実行されないので、それらは dotnet で実際のプロジェクトを作って試します)。

Blazor (.razor) プレビュー

書いた .razor をその場で Blazor 風の画面に描画する学習用プレビューを読み込みます(本物のBlazorではなく、Razor構文の描画・@bindの双方向バインディング・@onclick/@if/@foreach の簡単な対話を再現したものです。@code の本格的なC#ロジックやDI・HTTP・JS相互運用は実行されません)。
スクロールして表示された時点でも自動で読み込まれます。