4月26日(火)1、2コマ目
今日、やったこと
- OnGet()メソッドとOnPost()メソッド
- コンストラクタ
今日のホワイトボード
前回うっかりしてさらっと話をしたHTTPのPOSTコマンドでのリクエスト時に実行されるOnPost()メソッドの話をしました。
ついでにHTTPのGETコマンドリクエスト時のOnGet()メソッドや、クラスのコンストラクタについても話をしました。
なにげにWebアプリケーションの基本中の基本の話です。JavaやPHPなどでも通用する話です。
~.cshtml.csの2つのメソッド
クライアントからのリクエスト時に実行されるOnGet()メソッド(GETコマンド用)、OnPost()メソッド(POSTコマンド用)がある。
|
| 図 ~.cshtml.csのOnGet()、OnPost() |
[注意!!]OnPost()メソッドを使うときは
~.cshtmlに
@addTagHelper *, Microsoft.AspNetCore.Mvc.TagHelpers
が必要!!
Index.cshtml
Index.cshtml.cs
<form>タグとOnPost()
そもそも、HTTPのPOSTコマンドはクライアントで入力、選択し、ボタンをクリックしたときに、サーバーにPOSTコマンドでリクエストする。
このとき、入力内容や選択内容がサーバーに一緒に送信される。
サーバー側で入力内容や選択内容を受け取るにはOnPost()メソッドの引数を使う。
<input>タグや<select>タグのname属性値とOnPost()メソッドの引数名が一致していれば、自動的に引数に入力内容や選択内容がセットされる。
|
| 図 <form>タグとOnPost()メソッドの引数 |
Index.cshtml
Index.cshtml.cs
コンストラクタについて
コンストラクタとは、インスタンス生成時に実行されるメソッドのようなもの。
|
| 図 コンストラクタとは |
インスタンス生成をすると、メモリ上にクラスに必要なサイズのエリアが確保される。
|
| 図 インスタンス生成とメモリ |
選択リスト表示項目をコンストラクタで生成することで、GETリクエストでもPOSTリクエストでも選択リストに項目が表示される。
Index.cshtml
Index.cshtml.cs
今日、やったことは
OnPost()メソッドと<form>タグはRazorページでのWebアプリケーション構築に必須です。
また、コンストラクタやインスタンスはC#に限らず、Javaやほかの言語にも共通する内容です。
ということで、意外と重要なことをやりました。



