投稿

4月, 2023の投稿を表示しています

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

今日、やったこと [確認テスト]POST確認テスト1 [確認テスト]POST確認テスト2 今日の確認テスト 正解例をあげておきます。 POST確認テスト1  Question.cs 各質問項目のデータは ID 質問 のセットなので、このQuestionクラスで サイズ 色 理由 の質問項目データを扱う。 Index.cshtml.cs 特にややこしいことはないかと。 コンストラクタで質問データを用意し、OnPost()で回答(各質問のID)から質問データを探す。 Index.cshtml 回答データプロパティのうち、理由データはnullの場合、ループをまわす際にエラーとなる。そのため、回答データプロパティがnullでないときだけ、回答データを表示する必要がある。 POST確認テスト2 ”文字の色やサイズを変更する”に戸惑うかもしれないが、<table>タグにクラスをつけるだけ。 ポイントは指定された行数、列数の表を作るところ。でも、2重ループになるだけでそんなにややこしくはない。 Item.cs フォントサイズ、フォント色はともに、 ID 表示データ クラス なので、このItemクラスで両方とも扱う。 Index.cshtml.cs とくにややこしいことはないかと。 Index.cshtml ポイントは表を出力する部分。 次回は 一応、解説のあと、セッションオブジェクト(新ネタ)をやります。

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

イメージ
今日、やったこと POST練習ドリル POST練習ドリル1、2解説 今日のホワイトボード POST練習ドリル4のために 複数選択可能なチェックボックスを使っています。 HTML側 おなじグループの選択肢(<input>タグ)は同じname属性に OnPost()メソッド 引数は配列に 図 チェックボックス [解説]POST練習ドリル1 前回やったモノと同じです。 Item.cs 商品情報を受け渡すためのクラス。 Index.cshtml.cs 選択商品のリストのプロパティを用意する。 Index.cshtml Index.cshtml.csの選択商品リストプロパティを使って商品選択用リストを作る。 [解説]POST練習ドリル2 練習ドリル1にサイズ選択のラジオボタンが追加。 ラジオボタンはグループから1つだけ選択可能。 Item.cs 練習ドリル1と同じ。 Size.cs サイズ情報を受け渡すためのクラス。 Index.cshtml.cs プロパティは 選択商品リスト 選択サイズリスト の2つ。 やっていることは基本的にはドリル1と同じ。 Index.cshtml Index.cshtml.csの選択商品リストプロパティ、選択サイズリストプロパティを使って商品選択用リスト、サイズ選択用ラジオボタンを作る。 [解説]POST練習ドリル4 ポイントは複数選択可能なチェックボックス。 OnPost()メソッドの引数は配列にする。 Topping.cs トッピング情報受け渡し用クラス。 Index.cshtml.cs トッピング一覧リストから選択されたトッピングのIDで検索する部分がポイント。 Index.cshtml トッピングを選択していないときはなにも表示しないようにする。    次回は 確認テストをします。

4月13日(木)1、2コマ目

イメージ
今日、やったこと GETコマンドとPOSTコマンドリクエスト時の違い インスタンス生成 リクエスト時の処理 今日のホワイトボード GETコマンドでリクエストすると デバッグ実行やブラウザにURLを入力してページを表示する、リンクをクリックするとHTTPのGETコマンドでリクエストする。 GETコマンドでリクエストされるとOnGet()メソッドが動く。 図 GETコマンドでリクエスト=>OnGet()が動く POSTコマンドでリクエストすると ボタンクリックすると、HTTPのPOSTコマンドでリクエストする。 このとき、<form></form>内で入力、選択した内容も一緒に送信される。 POSTコマンドでリクエストするとOnPost()メソッドが動く。 クライアントから送信されたデータはOnPost()の引数で受け取ることができる。 なお、引数名とname属性値を一緒にする必要がある。 図 POST困んでリクエスト=>OnPost()が動く インスタンス生成 ちょこちょこ登場するインスタンス生成とは、メモリ上にクラスに必要なエリアを確保すること。 下図では、 new Item() でItemクラスのインスタンスを生成している。 図 Itemクラスのインスタンス生成 XXクラス型の変数はXXクラスに必要なサイズではない。インスタンス生成されて確保されたXXクラスのエリアへの参照情報が格納される。ポインタ変数。 下図では ItemList.Add( ) でItemListに Itemクラスのインスタンスを追加している。 Add()の引数には new Item(xx, xx, xx) となっている。Itemクラスのインスタンスを生成し、Add()メソッドに渡している。 図 ListクラスのItemListにItemクラスのインスタンスを追加 リクエスト時の処理 .Netでは、 リクエスト毎にOnGet()やOnPost()のあるクラスのインスタンスを生成している 。 1回目のリクエスト(下図ではGETコマンドでリクエスト) ①IndexModelクラスのインスタンスが生成 ②OnGet()メソッドが動く ...

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

イメージ
今日、やったこと Razorページのおさらい OnPost()メソッド 今日のホワイトボード Razorページのおさらい1 forコードブロック、コードナゲットを使いました。 図 作ったもの Program.cs Razorページが使えるように設定する。 Index.cshtml コードブロック、コードナゲットで動的なページが作れる。 Razorページのおさらい2 ~.cshtmlから~.cshtml.csのプロパティにアクセスすることができる。   図 ~.cshtml.csのプロパティにアクセスできる Page2.cshtml.cs Page2.cshtml OnPost()メソッド POSTコマンドでリクエストされると、~.cshtml.csのOnPost()メソッドが実行される。 <form></form>ないの<input>タグや<select>タブで入力、選択した内容はOnPost()メソッドの引数として受け取ることができる。 なお、引数名はname属性と同じにする必要がある。 その1 テキストボックス入力値を取得する。 図 起動直後 図 入力->ボタンクリック Index.cshtml Index.cshtml.cs その2 テキストボックス入力値、選択リスト選択値を取得する。 図 起動直後 図 入力・選択、ボタンクリック後 Index.cshtml Index.cshtml.cs