投稿

8月, 2020の投稿を表示しています

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

イメージ
前回のテストを採点して とりあえず、以下の3点を今後気を付けてください。 Itemクラスをサイズデータ受け渡しに使わない プロパティが同じ(ID, 名前, 価格)なので、Itemクラスをサイズデータ受け渡しのために使っている方がおられました。 Itemクラスから連想するのは「商品かな?」です。おそらく、サイズではないと思います。 このような使いまわしは直感的ではないため、やめたほうがいいです。 掟1 クラス名や変数名から連想されるデータだけを扱うこと! Index.cshtml.csのOnPost()にて① 選択された商品およびサイズを調べて、変数に代入するのですが、問題は変数名です。 Item target1 = null; Size target2 = null; のように、 target1 、 target2 と変数名からなんなのかがわからない方が結構おられました。 たとえば、 Item targetItem = null; Size targetSize = null; なら、変数名から対象商品だな、選択されたサイズだなとわかります。 変数名にかかわらず、クラス名、メソッド名、プロパティ名は名前からわかるようにしてください。 掟2 名前から実態がわかる変数名やクラス名、メソッド名を命名すること! Index.cshtml.csのOnPost()にて② 選択サイズによって価格の差額が決まります。 問題は商品の価格を計算、表示する部分です。 ご丁寧に int price = targetItem.Price; と変数を宣言したうえで、Tallでの金額を代入し、 price += targetSize.Price; とサイズによる差額を反映して strSelectedItem = "[" + targetItem.Id + "]" + targetItem.Name + ・・ + "(" + price + "円)"; で表示用文字列を作っている方がおられました。 変数priceは必要でしょうか? 以下で十分な気がします。 strSelected...

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

イメージ
 今日、やったこと セッションを使ったアプリケーション作成[練習問題7] セッションを使ったアプリケーション作成[課題2] セッションを使ったアプリケーション作成[練習問題7] 作成するアプリケーションは以下のとおり。 図 練習問題7 ソースコード Startup.cs セッション用にいくつか設定を行う必要あり。 Item.cs 商品情報(id, 商品名)をひとまとめにして扱うためのクラス。 Index.cshtml Index.cshtml.cs セッションを使ったアプリケーション作成[課題2] 作成するアプリケーションは以下のとおり。 図 課題2(1ページ目) 図 課題2(2ページ目) ソースコード Startup.cs 練習問題7と同じ。 Coffee.cs 商品(コーヒー)の情報(id, 商品名, 価格)をひとまとめにして扱うためのクラス。 Size.cs サイズの情報(ID, 表示名, 差額)をひとまとめにして扱うためのクラス。 Index.cshtml Index.cshtml.cs

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

イメージ
 今日、やったこと セッション 今日のホワイトボード (おさらいだけど)HTTPはリクエスト・レスポンスで完結 HTTPはリクエスト・レスポンスで完結する。同じクライアントからの複数のリクエストでサーバー側にデータを共有する仕組みはない。 実際は、リクエストをまたいだデータ共有ができないのは不便なので、アプリケーションサーバー(HTTPサーバーではなく、Webアプリケーションを実行する環境)で実現している。多くの環境ではセッションオブジェクトと呼んでいる。 図 HTTPの特徴、セッションオブジェクト Razorページでのセッション セッションオブジェクト取得 ~.cshtml、~.cshtml.csにて HttpContext.Session で取得可能。 セッションにデータを保存、取り出し 取得したセッションオブジェクトの以下のメソッドを使う。 〇保存する メソッド 引数 戻り値 役割 void SetInt32(string key, int value) key:保存データの名前 value:保存データ なし int型データをセッションオブジェクトに保存する void SetString(string key, string value) key:保存データの名前 value:保存データ なし string型データをセッションオブジェクトに保存する 〇取得する メソッド 引数 戻り値 役割 int GetInt32(string key) key:取り出す保存データの名前 ...

8月4日1、2コマ目

イメージ
 今日、やったこと 演習(標準体重計算アプリ作成) 今日の演習 入力された身長から標準体重を計算、表示する。 その1 計算のみ(正常系のみ) 内容 図 演習 その1 計算のみ 入力値を~.cshtml.csで処理する サーバーに送信されるデータ <form>~</form>で囲まれた中にあるボタン(type="submit")をクリックすると、同じ<form>~</form>内の<input>や<select>の入力値や選択値が送信される。 GETコマンド?POSTコマンド? 送信時に使われるHTTPのコマンドは<form>のmethod属性で指定する。 GETまたはPOSTを指定する。 サーバー側の処理①どこに処理を書く? ~.cshtml.csに書くことができる。 GETコマンドなら、OnGet()メソッド、POSTコマンドならOnPost()メソッドが実行される。 サーバー側の処理②送信データをどうやって取得する? 送信される入力値や選択値はOnGet()、OnPost()の引数で受け取ることができる。 なお、引数名は<input>や<select>のname属性設定値と同じにすること。 図 サーバー側で入力値、選択値を取得し処理する 解答例 ~.cshtml ~.cshtml.cs その2 入力値チェック(155cm未満はエラー) 内容 図 演習 その2 入力値チェック 解答例 ~.cshtml ~.cshtml.cs その3 体重入力、標準体重との差を出力 内容 図 演習 その3 体重入力・標準体重との差出力 サーバー処理結果を画面に表示...