本文へスキップ
BecomeCoder

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

@code とデータの埋め込み ― 式も書ける

ブラウザで完結

導入

@のうしろには変数だけでなくも書けます。@(a * b)のようにカッコで囲めば、計算結果をそのまま画面に出せます。データと表示が地続きになる感覚をつかみましょう。

説明

単純な変数は@name、式は@(...)とカッコで囲みます。

<h3>@title</h3>
<p>単価: @price 円</p>
<p>税込: @(price * 1.1) 円</p>
<p>3個の合計: @(price * 3) 円</p>

@code {
    private string title = "コーヒー";
    private int price = 500;
}
  • 変数1つなら@price、計算式なら@(price * 1.1)のようにカッコで囲む
  • @codeのフィールドを変えると、それを使った表示がすべて連動して変わる
  • 「データを1か所で持ち、画面はそれを映す」——これがコンポーネントの基本姿勢

やってみよう

priceの値を書き換えて、税込や合計の表示が一緒に変わることを確かめましょう。@(price * 3)3を変えれば個数も変えられます。

演習

private int taxRate = 10;を足し、税込の表示を@(price * (100 + taxRate) / 100)にして、税率をフィールドで変えられるようにしてください。

ヒント1を見る

@codeprivate int taxRate = 10;を追加します。

ヒント2を見る

税込の行を<p>税込: @(price * (100 + taxRate) / 100) 円</p>に変えます。

次回: @if@foreachで、条件や繰り返しHTMLに持ち込みます。

実際に動かしてみよう

下のエディタに .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相互運用は実行されません)。
スクロールして表示された時点でも自動で読み込まれます。