9月8日(火)1、2コマ目
今日、やったこと
- セッションの確認テスト課題
- チェックボックス、複数ボタン
今日の確認テスト課題
課題内容
ポイントは
「同じ商品が複数回選択された際、数量を合算して1行にまとめる」
だと思います。
![]() |
| 図 セッション確認テスト課題① |
![]() |
| 図 セッション確認テスト課題② |
![]() |
| 図 セッション確認テスト課題③ |
![]() |
| 図 セッション確認テスト課題④ |
ソースコード
Startup.cs
今まで同じ。
SessionExtensions.cs
今までと同じ。
Coffee.cs
コーヒー情報受け渡しのために使うクラス。
Size.cs
サイズ情報受け渡しのために使うクラス。
SelectedItem.cs
選択商品情報(コーヒー、サイズ)をまとめて扱うためのクラス。
商品選択時に、選択商品、選択サイズからこのクラスのインスタンスを生成する。
Index.cshtml
強いて言うなら、ラジオボタンのname属性を揃えること。
Index.cshtml.cs
すでに選択済み(Sessionオブジェクトの選択商品リストに格納済み)商品かどうかを判断するところがポイントでしょうか。ソース自体はなんてことはないのですが。
ラジオボタン・複数ボタン
とりあえず、削除ボタンがない状態まで作成してください。
ソースコードを載せときます。
![]() |
| 図 チェックボックス・複数ボタン① |
![]() |
| 図 チェックボックス・複数ボタン② |
![]() |
| 図 チェックボックスについて |
Color.cs
色情報を受け渡すために使うクラス。
Index.cshtml
強いて言うなら、チェックボックスのname属性を揃えるくらいでしょうか。
Index.cshtml
チェックボックスは複数選択可能なので、OnPost()の引数は配列にする。
この配列の要素(選択色のID)を1つづつ取り出し、colorLlistプロパティ(List<Color>)の各要素とIDが一致するモノを探す。
見つかったら、セッションオブジェクト中の選択色リスト(List<Color>)に格納。
ただし、同じ色が格納済みなら追加しない。







コメント