投稿

6月, 2021の投稿を表示しています

6月29日(火)1、2コマ目

イメージ
今日、やったこと 拡張セッションオブジェクト  今日のホワイトボード 前回のおさらい 前回からリクエストをまたいで情報共有できるセッションオブジェクトを使いはじめました。 そのセッションオブジェクトを使ったおさらい演習です。 図 作るモノ Startup.cs Index.cshtml Index.cshtml.cs ISessionを拡張する 現状、セッションオブジェクトには int型 string型 しかセットできないため、自分で作ったクラスのインスタンスは格納できません。 図 現状のセッションオブジェクトの問題点 このままではまったく役立たずなセッションオブジェクトなため、既存のセッションオブジェクト(ISession型)に拡張メソッドを追加します。 図 作るモノのイメージ SessionExtensionクラス ISessionに以下の2つの拡張メソッドを追加します。 T Get<T>(string key) void Set<T>(string key, T value) SelectedItemクラス 選択商品情報を扱うためのクラス。 セッションオブジェクトにこのインスタンスのリストを格納します。 引数なしのデフォルトコンストラクタが必要な点に注意!! Index.cshtml セッションオブジェクトの取り扱いは以前と同じです。 Index.cshtml.cs セッションオブジェクトの取り扱いは以前と同じです。

6月22日(火)1、2コマ目

イメージ
今日、やったこと セッションオブジェクト 今日のホワイトボード HTTPに足りない機能を補うために HTTPはリクエスト・レスポンスの1往復で完結するプロトコル。 よって、複数組のリクエスト・レスポンスを関連付けることはできない。 が、Webサイトを作るにはこれでは役不足。よって、アプリケーションサーバーで補うようになった。 図 アプリケーションサーバー Sessionオブジェクト 複数組のリクエスト・レスポンスにまたがってデータを共有するしくみがSessionオブジェクト。 図 Sessionオブジェクト [サンプルプログラム]Sessionオブジェクトを使う  前回作ったアプリケーションをSessionオブジェクトを使って、改造した。 Startup.cs SelectedItem.cs Index.cshtml Index.cshtml.cs ポイントをまとめるといかのとおり。 図 Sessionオブジェクト まとめ 演習7 図 起動直後 図 商品選択1つ目 図 商品選択2つ目 ソースコードです。 Startup.cs サンプルと同じです。 Item.cs Index.cshtml Index.cshtml.cs 演習 おまけ ...

6月16日(水)3コマ目

イメージ
今日、やったこと 複数回にわたってデータを共有する[導入] 今日のホワイトボード サンプルアプリケーション 図 サンプルアプリケーション 一応、ソースコードをあげときます。 SelectedItem.cs(SelectedItemクラス) Index.cshtml Index.cshtml.cs 改造する サンプルアプリケーションの選択商品情報表示欄を変更したい。 〇現在 直前に選択した商品情報のみ表示。 〇改造方針 過去に選択した商品情報も表示したい。 HTTPの特徴 前からちょこちょこ話していますが、HTTPは1往復のやり取りで完結するプロトコルです。 図 クライアントからリクエスト、サーバーからレスポンス そのため、過去になにが選択されたかを覚えておく仕組みがありません。 図 HTTPはリクエスト、レスポンスの1セットで完結 このままでは お買い物サイトでは3回「カートへ入れる」をクリックしてもちゃんと3回分の選択商品情報が表示されます。 あれはなんでできるんでしょうか? 

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

イメージ
今日、やったこと クラスを使って~.cshtmlと~.cshtml.csでのデータ受け渡し C#のクラス(特にプロパティ) 今日のホワイトボード 演習6 図 演習6のヒント ソースコードを載せときます。 Resultクラス(Result.cs) Index.cshtml Index.cshtml.cs 練習 以下を作りました。 図 練習問題 ソースコードを載せときます。  Resultクラス(Result.cs) Index.cshtml Index.cshtml.cs