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>)に格納。 ただし、同じ色が格納済みなら追加しない。