【T1c】ASP.NET Core MVC(6/6)
プロジェクトタイプ | ASP.NET Core (空) |
---|---|
プロジェクト名 | T1c |
ソリューション名 | PIT1 |
ターゲットフレームワーク | .NET 8.0(長期的なサポート) |
最上位レベルのステートメントを使用しない | 使用する(チェックオフ) |
注意
- 本ページの作業内容は 前のページまでの続き になっていることに注意せよ.
- 先に前のページまでをすべて読み,指示されている作業を済ませてから本ページを読むこと.
- プロジェクトの作成作業についてはプロジェクトの作成を参照せよ.
1c-6. HTTPにおけるアクセス方法の種類
重要な点として,フォームの送信を受け付けるアクションメソッドには,リスト1c-5-3の1行目のように [HttpPost]
属性を付加する必要があることを覚えておこう .
ここでHTTPにおけるアクセス方法の種類についても少し説明しておこう.ウェブを閲覧している限りは 通常はあまり意識されないが,ウェブにおけるリソースへのアクセス方法はいくつか存在している. ウェブアプリケーションの開発において重要なのは以下の2種類である.
ウェブブラウザはページの内容に基づいて,GETメソッドでアクセスするかPOSTメソッドでアクセスするかを
使い分けている.ASP.NET Core MVC におけるコントローラーのアクションメソッドは,通常はGETメソッドで
アクセスされた際に呼び出されるがリスト1c-5-3のように[HttpPost]
属性を付加することで,
「このアクションメソッドはFoo/CalcBMI
にPOSTメソッドでアクセスされた際に起動するものである」とマークすることができる.
リスト1c-5-3ではBMIの値を計算してViewData
という連想配列にデータを登録している.
この ViewData
はビュー,つまりRazorページの表示処理に任意のデータを渡すことができる汎用コンテナ であり
今回は "bar" というキーに,計算したBMIの値を登録している
(「連想配列」についてはプログラミング演習Ⅲ(2023;金澤クラス)第06回を参照せよ).
リスト1c-5-3はCalcBMI
という名前のアクションメソッドなので,特に指定しなければ
表示には先ほど作成した CalcBMI.cshtml が使用される.では CalcBMI.cshtml の中で,
ViewData
に登録されたBMIの値を読みだして表示する処理を書き加えよう.
_のように追記する.
|
|
18~21行目では,ViewData
の "bar" キーに値が入っていたときのみ p 要素内の文章でその値を表示している.
ここまで追記したら起動して,フォームに適当なデータを入力してBMIの値が表示されることを確認しよう(_).
以上で今回のチュートリアルは完了である. なお今回は課題が出題されている.忘れずに取り組むこと .