Blazor01

BlazorでのWebアプリケーション開発手法1【C#】D07_プルダウン

ここからはプルダウン(C#でいうところのコンボボックス)を作成していきます。Home画面が要素で混み合ってきたため、まず新しく計測設定用の画面を用意し、その画面上にプルダウンを実装していきます。

図1 本レクチャーの表紙スライド

新しい画面を追加する

Pagesフォルダーを右クリックし、「追加」から「Razor コンポーネント」を選択します。

図2 Pagesを右クリックし「追加」→「Razor コンポーネント」を選択

追加するコンポーネントの名前は「MeasureSettingPage」とします。

図3 新しい項目の追加ダイアログで名前に「MeasureSettingPage」を入力

追加すると雛形のコードが生成されるので、先頭の@pageディレクティブを“/measuresetting”に書き換え、見出し(h3タグ)の中身を「計測設定」に書き換えます。

図4 @pageディレクティブとh3見出しを書き換えている途中の状態

図5 書き換えが完了した状態のMeasureSettingPage.razor

@page "/measuresetting"
<h3>計測設定</h3>
 
@code {
 
}

NavMenuにリンクを追加する

NavMenu.razorを開き、既存の「商品一覧」用のdivタグ全体(<div class=”nav-item px-3″>から</div>まで)をコピーして、その直後に貼り付けます。

図6 NavMenu.razorで「商品一覧」のdivブロックをコピー対象として選択

貼り付けたブロックのhref属性を“measuresetting”に書き換えます。この時点ではまだ表示テキストは「商品一覧」のままです。

図7 貼り付けたブロックのhref属性を「measuresetting」に書き換えた状態

続けて表示テキストも「計測設定」に書き換えれば完成です。アイコン(class=”bi bi-activity-nav-menu”)はそのまま流用します。

図8 表示テキストを「計測設定」に書き換えて完成したNavMenu.razor

<div class="nav-item px-3">
    <NavLink class="nav-link" href="measuresetting">
        <span class="bi bi-activity-nav-menu" aria-hidden="true"></span> 計測設定
    </NavLink>
</div>

 

ここで一度実行して確認します。サイドバーに「計測設定」のメニュー項目が追加されていることが分かります。

図9 実行し、サイドバーに「計測設定」が追加されたことを確認

クリックすると、見出しだけの「計測設定」画面が表示され、URLも/measuresettingになっていることが確認できます。ここまでの手順に問題がなければOKです。

図10 「計測設定」画面がURL /measuresetting で表示されることを確認

プルダウンを作成する

それではプルダウンを作っていきます。プルダウンはselectタグで作成します。selectと入力すると、IntelliSenseの候補に「select」が表示されます。

図11 <select と入力し、IntelliSenseに「select」の候補が表示された状態

selectタグの中にoptionタグを追加していきます。こちらも同様にIntelliSenseで「option」の候補が表示されます。

図12 selectタグの中で<op と入力し、IntelliSenseに「option」の候補が表示された状態

optionタグのvalue属性に“1”を指定し、開始タグと終了タグの間には画面上に表示する文字列として「毎日」を入力します。value属性はプログラム上で扱われる値、タグの中のテキストは見た目上表示される文字列という、いわばキーとバリューの関係になっています。

図13 <option value=”1″>毎日</option> が完成した状態

同じ要領でoptionタグをさらに2つ追加し、value“2”を「毎週」、value“3”を「毎月」とします。

図14 3つのoptionタグ(毎日/毎週/毎月)が完成した状態

<select>
    <option value="1">毎日</option>
    <option value="2">毎週</option>
    <option value="3">毎月</option>
</select>

 

これで実行すると、「計測設定」画面にプルダウンが表示されます。クリックすると「毎日」「毎週」「毎月」の3つの選択肢が一覧表示されます。

図15 プルダウンをクリックし、「毎日」「毎週」「毎月」の3択が表示された状態

「毎週」を選択すると、選んだ項目がプルダウンに反映されて表示されることが確認できます。プログラムコード上では値として“2”が選ばれており、見た目上は「毎週」という文字列が表示されている、という関係です。こんな感じでプルダウンを作成していきます。

図16 「毎週」を選択した後のプルダウンの表示

BlazorでのWebアプリケーション開発手法1【C#】

A01_はじめに
A02_バージョンの確認
A03_プロジェクトの作成
A04_アプリの実行
A05_サンプルプログラムの構成
A06_Razorコンポーネント
A07_Razor構文
A08_@pageでURLを指定する
A09_@rendermode
A10_PageTitle
A11_HTMLの見出し
A12_pタグ
A13_単方向データバインド
A14_単方向データバインドの詳細
A15_Bootstrap
A16_ボタンクリックイベント
A17_イベント引数の受け取り方
A18_ここまでのまとめ
B01_新しいWebページを追加する方法
B02_サイドバーから画面を表示する
B03_サイドバーのアイコンを変更する方法
B04_計測値を表示する
B05_変数に置き換える
B06_最新の値でデータを更新する
B07_@usingで通常のC#コードを呼び出す
B08_画面遷移_aタグ
B09_画面遷移_aタグの見た目をボタンにする
B10_画面遷移_NavigationManagerでの遷移
B11_画面間のパラメータの受け渡し方法
B12_EscapeDataStringでエスケープする
B13_複数のパラメータを渡す
B14_任意のパラメータにする
B15_string以外の型をパラメータで使う方法
B16_DateTime型をパラメータで渡す方法
B17_引数2個のURLも型指定に変更する
B18_パラメータ属性をつけるときの注意点
B19_OnParametersSet
B20_OnInitialized
B21_OnInitializedが2回通る問題の対応
B22_ブラウザが開いている間の値を記憶する方法
B23_値の受け渡しとしてのProtectedSessionStorage
B24_非同期を想定したUIの制御
C01_一覧表示
C02_非同期での一覧表示
C03_table-striped
D01_入力エリア
D02_双方向データバインド
D03_入力データをリアルタイムで通知する方法
D04_placeholder
D05_入力エリアの横幅の調整
D06_テキストチェンジイベントを拾う方法
D07_プルダウン
D08_プルダウンのbootstrap
D09_プルダウンの選択している値をデータバインドで操作する
D10_プルダウンにリストの値を表示する
D11_プルダウンに未選択行を入れる
D12_プルダウンの入力を禁止する
D13_プルダウンのチェンジイベントを取得する
D14_チェックボックス
D15_チェックボックスにラベルを付ける
D16_複数のチェックボックスを並べる
D17_ラジオボタン
D18_ラジオボタンのデータバインド
D19_ラジオボタンのチェンジイベント
D20_ラジオボタンにbootstrapを適応する