5月19日(火)1、2コマ目

今日、やったこと

  • [練習問題]拡張Sessionオブジェクト 練習問題9
  • [練習問題]拡張Sessionオブジェクト 練習問題10
  • 1画面に複数のボタン

今日のホワイトボード

[練習問題]拡張Sessionオブジェクト 練習問題9

正解例をあげておきます。

Program.cs

Sessionオブジェクトが使えるように設定。いままでとおなじ

SessionExtensions.cs

ISessionインタフェースに拡張メソッドを追加する。いままでと同じ

Item.cs

iPad情報受け渡し用クラス。

SelectedItem.cs

選択されたiPad、色をひとまとめにして受け渡すためのクラス。

Index.cshtml.cs



Index.cshtml

Sessionオブジェクトから選択済みiPad情報を取得し、表形式で表示する。

[練習問題]拡張Sessionオブジェクト 練習問題10

正解例をあげておきます。

Program.cs

Sessionオブジェクトが使えるように設定。いままでとおなじ

SessionExtensions.cs

ISessionインタフェースに拡張メソッドを追加する。いままでと同じ

Coffee.cs

コーヒー情報受け渡し用クラス。

Size.cs

サイズ情報受け渡し用クラス。
DiffPriceプロパティはサイズによる価格の差額。

SelectedItem.cs

選択されたコーヒー、サイズ、入力された数量をまとめて受け渡すためのクラス。
同じ商品か確認するのはこのクラスがいいと思う。
IsSame()でおなじ商品(コーヒーとサイズが同じ)か否かをチェックする。

Index.cshtml.cs

OnPost()にて、選択商品をリストに追加する際、SelectedItemクラスのIsSame()で同じ商品か否かをチェック。

Index.cshtml

練習問題9と同じように、Sessionオブジェクトから選択済み商品リストを取得して、表形式で表示。

複数ボタン

<button>タグも<input>タグと同じようにname属性、value属性を指定できる。
ボタンクリック時には、
 name属性値=value属性値
がサーバーに送信される。

下図のようにボタンが2つある場合、どちらが押されたか判断する必要がある。
name属性を同じにすると、OnPost()メソッドには1つの引数で押されたボタンに応じた値(value属性値)が送信される。
図 1つの画面に+ボタン、ーボタン

ソースコードは以下のとおり。

Index.cshtml

+ボタン、-ボタンともにname属性は同じ。value属性でどちらがクリックされたか判断。

  

Index.cshtml.cs


次回は

Sessionオブジェクトの確認テスト。

このブログの人気の投稿

5月12日(火)1、2コマ目

4月28日(火)1、2コマ目