2月25日(水)2、3コマ目

今日、やったこと

  • 複数ボタン
  • [練習問題]複数ボタン

今日のホワイトボード

Webフォームに複数のボタンがある場合

大前提として、ボタンが複数あっても、同時に複数をクリックすることはできない。

図 複数ボタン


〇ボタン1、ボタン2

ボタン1、ボタン2はname属性を同じ、value属性を別々にした。

OnPost()メソッドにname属性と同名の引数を1つ用意。

どちらかがクリックされると、この引数にクリックされたボタンのvalue属性値が代入される。


〇ボタン3、ボタン4

ボタン3、ボタン4はname属性を別々にした。

OnPost()メソッドの引数には、クリックされてないボタンのname属性と同名の引数にはnullが代入されるようにnull許容にした。


複数ボタン サンプル ソースコード

Index.cshtml

ボタン1、ボタン2は同じname属性。

ボタン3、ボタン4は別々のname属性。


Index.cshtml.cs

OnPost()メソッドには

  • ボタン1、ボタン2用の引数btnA
  • ボタン3用の引数btn3 -> クリックされない場合はnullに -> int?でnull許容型
  • ボタン4用の引数btn4 -> クリックされない場合はnullに -> int?でnull許容型

の3つの引数を用意。


[練習問題]複数ボタン

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

WeatherData.cs

cs_山梨気象データテーブルのデータ受け渡し用クラス。

WeatherDataDAO.cs

cs_山梨気象データテーブルアクセス用クラス。


Index.cshtml.cs

クリックされたボタンに応じて検索。

なお、検索条件を入力欄は未入力の場合はOnPost()の引数にnullが代入されるように、null許容型に。


Index.cshtml

気象データ表示時に、nullの場合は空白文字列を出力。

空白文字列は "" のかわりに string.Empty を利用。


次回は

練習問題の解説。で、テスト。


このブログの人気の投稿

1月23日(金)1、2コマ目

1月22日(木)2コマ目

2月17日(火)3コマ目