9月15日(火)1、2コマ目

今日、やったこと

  • 前回の課題をチェックして
  • チェックボックス、複数ボタン
  • 課題

今日のホワイトボード

前回の課題をチェックして

3点ほど気になることがありました。

コンパイルレベルのエラー

「xxxクラスがない」といったコンパイルレベルのエラーがある人がちょこちょこおられました。

HTMLのテーブルタグが使えていない?

表形式で出力するためには<table>タグを使いますが、結構タグが多いのでちゃんと使えていない方がおられました。

図 <table>タグ


同じ商品?

選択した商品と同じ商品がSessionオブジェクト中の選択済み商品リスト中にあるかチェックする際、Equals()メソッドが使えるとプログラムを見やすくしてくれます。

なお、同じかどうかを比べる際に==演算子とEquals()の2種類があります。

それぞれ何を比較するのかが異なります

図 ==演算子とEquals()メソッド


特にxxxクラス型の変数を比較する際、

  • 参照先が同じ(同じインスタンスを参照している)
  • 中身が同じ(インスタンスは異なるが、フィールドは同じ)

の2パターンありますので、ご注意ください。


1フォーム中に複数ボタン

1つのフォームの中に複数のボタンがある場合、どれが押されたかを判断する必要があります。1つの方法として以下を紹介します。

  • 各ボタンのname属性は同じ
  • 各ボタンのvalue属性は異なる値
  • OnPost()ではname属性と同じ名前の引数を用意
  • この引数には押されたボタンのvalue属性設定値が代入される
  • よって、OnPost()では引数代入値でどのボタンが押されたかがわかる

Index.cshtml


Index.cshtml.cs


コメント

このブログの人気の投稿

6月2日(火)1,2コマ目(A班)、3,4コマ目(B班)

7月21日(火)1、2コマ目

9月1日(火)1、2コマ目