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 を利用。
次回は
練習問題の解説。で、テスト。
