投稿

9月6日(火)1コマ目

今日、やったこと [確認テスト]ODP.NET+Sessionオブジェクト  今日の確認テスト 解答例をあげておきます。 Startup.cs Sessionオブジェクトを使えるように。 SessionExtensions.cs いつもどおり。 Coffee.cs コーヒー情報受け渡し用クラス。 Size.cs サイズ情報受け渡し用クラス。 CoffeeDAO.cs コーヒーマスタテーブルアクセス用クラス。 SizeDAO.cs コーヒーサイズマスタテーブルアクセス用クラス。 SelectedItem.cs 選択商品情報受け渡し用クラス。 Index.cshtml.cs OnPost()内で、サイズ、数量を取得するところがポイント。 Index.cshtml サイズ選択用リスト、数量入力用テキストボックスの名前がポイント。 これで、.Net実習は終了です。お疲れ様でした。

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

今日、やったこと Request.Form[]の練習問題 今日のソースコード 練習問題のソースコードをあげておきます。 Startup.cs Sessionオブジェクトを使うように設定。 SessionExtensions.cs いつもどおり。 Item.cs 商品情報受け渡し用クラス。 ItemDAO.cs 餃子マスタテーブルアクセス用クラス。 SelectedItem.cs 選択商品情報受け渡し用クラス。 Index.cshtml.cs OnPost()にて、選択された餃子の「ニンニクの有無」、「数量」を取得するためにRequest.Form[]を使う。 Index.cshtml しいて言えば、ラジオボタンくらいでしょうか。   次回は 評価用課題をやってもらいます。 C#シリーズの最後の課題です。

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

イメージ
今日、やったこと 引数以外で入力・選択値を取得する 今日のホワイトボード  今まではフォーム上で入力・選択した値はOnPost()メソッド(OnGet()も同じ)にname属性と同じ名前の引数を用意して受け取っていました。 今日は、引数を使わずに、入力・選択した値を取得する方法を紹介します。 サンプルアプリケーション グループで検索すると、商品が表示される。 表示された商品には数量入力用テキストボックス、カートへボタンがある。 図 サンプルアプリケーションについて ポイントは数量入力用テキストボックスに入力された値を取得する方法。 Request.Form[] OnPost()メソッドにて、 Request.Form[] で<form></form>内の各要素にて入力・選択された値が取得できる。 図 Request.Form[] ソースコード Startup.cs Sessionオブジェクトが使えるように設定。 SessionExtensions.cs ISession拡張メソッド定義。いつもどおり。 Group.cs グループ情報受け渡し用クラス。 Item.cs 商品情報受け渡し用クラス。 GroupDAO.cs CS_グループマスタテーブルアクセス用クラス。 ItemDAO.cs CS_商品マスタテーブルアクセス用クラス。 SelectedItem.cs 選択商品情報受け渡し用クラス。 Index.cshtml.cs OnPost()メソッドで利用している Request.Form[] が今日のポイント。 Index.cshtml 特にややこしいことはないかと。 次回は 練習問題をやってもらいます。

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

イメージ
今日、やったこと [Razorページ+ODP.NET]複数のパラメータマーカー 今日のホワイトボード パラメータマーカーを使う ポイントはSQL中のパラメータマーカーに対応するOracleParameterオブジェクトです。 SQL中のパラメータマーカー登場順とOracleCommandのParametersプロパティにOracleParameterオブジェクトをAdd()する順に一致しています。  図 パラメータマーカーを使う Razorページ+ODP.NET 練習問題2 ボタンクリック時に入力データが表示されない ①検索条件(金額)を入力 ②ボタンクリック  サーバーにPOSTコマンド送信 ③サーバーはHTML生成、レスポンス(HTML)を返す   ここでテキストボックスのvalue属性に入力した金額をセット ④ブラウザはHTMLを表示  テキストボックスに入力金額が表示される 図 入力データを表示する ソースコード Startup.cs いままでどおり。 Item.cs ItemDAO.cs 今回のポイント。パラメータマーカーが2つ出てくる。 Index.cshtml.cs Index.cshtml Razorページ+ODP.NET 課題1 ヒント ボタンが2つあります。 どちらがクリックされたか判別する必要があります。 図 2つのボタンを判定するには ボタンには同じ名前(name属性)を付けて、値(value属性)を別々にすることで、OnPost()の1つの引数でどちらのボタンがクリックされたかがわかります。 8/2(火)9:30に回収します。=>回収しました。 ソースコード 解答例をあげておきま...

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

イメージ
今日、やったこと [Razorページ+ODP.NET] パラメータマーカーを使う 今日のソースコード [Razorページ+ODP.NET] パラメータマーカーを使う サンプルアプリケーション 下図のアプリケーションを作成しました。 図 Razorページ+ODP.NET サンプル グループを選び選択ボタンをクリックすると、選択グループの属する商品を検索、表示します。 今回のポイントは パラメーターマーカーを使う です。 Startup.cs いままでどおり。 Group.cs グループ情報受け渡し用クラス。 Item.cs 商品情報受け渡し用クラス。 GroupDAO.cs CS_グループマスタテーブルアクセス用クラス。 ItemDAO.cs CS_商品マスタテーブルアクセス用クラス。 Index.cshtml.cs とくにややこしいことはないかと思います。 Index.cshtml これもなんてこはないかと思います。 Razorページ+ODP.NET 練習1 起動時(GETコマンドでリクエスト)は全件検索、検索ボタンクリック時(POSTコマンドでリクエスト)は入力価格以上の商品を検索です。 リクエストによって実行する内容が異なる点に注意です。 Item.cs 商品情報受け渡し用クラス。 ItemDAO.cs CS_商品マスタテーブルアクセス用クラス。 Index.cshtml.cs GETコマンドとPOSTコマンドの使い分けに注意。 Index.cshtml これは問題ないかと。 次回は 前回やった確認テスト5の類似テストを実施します。

Razorページ 課題6

Razorページ課題6 課題作成にあたり、以下のソースコードを提供します。  Sandwich.cs サンドウィッチ情報受け渡し用クラス。 Bread.cs パン情報受け渡し用クラス。 Topping.cs トッピング情報受け渡し用クラス。 Vegetable.cs 野菜情報受け渡し用クラス。 Sauce.cs ソース情報受け渡し用クラス。 Index.cshtml.cs 表示データを格納するプロパティとプロパティに初期値を設定するコンストラクタのみ。

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

今日のおたすけリンク 1年のときにやったODP.NET(C#からオラクルDBにアクセスするためのライブラリ)の情報です。 C#+ODP.NETで全件検索 C#+ODP.NETでパラメーターマーカーを使う 今日、やったこと [確認テスト]削除ボタンを追加 ODP.NET復習 今日のソースコード ODP.NET復習 1年のときに一度やったオラクルDBアクセスに利用するODP.NETの復習です。 準備 「参照の追加」でOracle.ManagedDataAccess.dllへの参照を追加すること。 Startup.cs いままでどおり。 Item.cs 商品情報受け渡し用クラス。 ItemDAO.cs オラクルDBのCS_商品マスタテーブルを全件検索するSeletAll()メソッドのみ。 Index.cshtml.cs コンストラクタでItemDAOクラスのSelectAl()メソッドを呼び出して商品情報を取得。 Index.cshtml とくに問題ないかと。 [確認テスト]Razorページ確認テスト5 前回の確認テスト4に削除ボタンを追加するだけです。 Startup.cs セッションオブジェクトが使えるようにしてください。 SessionExtensions.cs いつもどおりです。 Coffee.cs コーヒー情報受け渡し用クラスです。 Size.cs サイズ情報受け渡し用クラスです。 Option.cs オプション情報受け渡し用クラスです。 SelectedItem.cs 選択済み商品情報受け渡し用クラスです。今回のポイントになるクラスです。 差額を反映した価格を返すPriceプロパティやオプションの一覧を取得するOptionNameプロパティを追加しています。 また、同じ商品が選択されたか否かを判定するためのIsSame()メソッドをこのクラスに作りました。 Index.cshtml.cs ややこしそうなモノはSelectedItemクラスに作ったので、これは結構シンプルになる。 Index.cshtml 特に難しいところはないかと。  次...