6月27日(火)1、2コマ目
今日、やったこと
[確認テスト]Razorページ課題8(前回のつづき)
[確認テスト]おまけ1(〇×ゲーム)
今日の課題
[確認テスト]Razorページ課題8
ポイントはコーヒーとたべものの2つあるカートへボタン。
正解例をあげておきます。
Program.cs
Sessionを使えるように。
SessionExtentions.cs
いままでどおり。
Item.cs
商品(コーヒー、食べ物)情報受け渡し用クラス。
SelectedItem.cs
選択済み商品情報受け渡し用クラス。
Cartクラスの選択済み商品リストに追加される際に、注文番号プロパティOrderNumberプロパティ)に値がセットされる。このOrderNumberプロパティは同じCartクラスのインスタンスではオンリーワンになる。この値で選択済み商品リストから商品を特定する。
Cart.cs
ショッピングカートのようなクラス。
選択済み商品を保存するItemListプロパティ(List<SelectedItem>クラス)、注文番号候補を保存するOrderNumberプロパティがある。
Index.cshtml.cs
OnPost()メソッドでどのボタンがクリックされたかを判断するところがポイント。
Index.cshtml
[確認テスト]おまけ1
3x3のマスの情報やどっちの順番(〇の順番、×の順番)など、○×ゲームの流れを管理するGameクラスがポイント。
あと、授業ではやってないEnum(列挙型)も使っている。Enumは定数のセット集みたいなもの。
MaruBatsuEnum.cs
列挙型。定数のセット集。
各マスに表示される、〇、×、空白にそれぞれ定数を設定。この列挙型にまとめている。
Game.cs
○×ゲームの各情報(各マスの情報、順番)を扱う。
Index.cshtml.cs
起動すると、GETコマンドでリクエストするため、OnGet()が動く。
3x3の各マス(実態はボタン)をクリックするとOnPost()が動く。
Index.cshtml
3x3の各マスの実態はボタン。
クリックすると、各マスの位置情報(0~8)が送信される。
次回は
そろそろ新ネタに行きます。