5月18日(火)1、2コマ目
今日、やったこと
- @functionsディレクティブ
- ~.cshtml.csのプロパティで~.cshtmlへデータを渡す
- ~.cshtml.csのOnGet()、OnPost()メソッド
今日のホワイトボード
@functionsディレクティブ
@functions{ }内にメソッドが作れる。
|
| 図 @functionsディレクティブにメソッド作成(引数なし) |
引数があるメソッドも当然OK。
メソッド呼び出しはC#のコードを書く時と同じ感じで。
|
| 図 @functionsディレクティブにメソッド作成(引数あり) |
授業ではメソッドを作っただけだが、プロパティ作成や変数宣言も可能。
ただ、使うのか?と言われると微妙な感じ。そもそも~.cshtmlにメソッドを作ること自体がNGな気もする。
@functionsは「こんなものもある」程度で。
@functionsディレクティブの演習
解答例をあげときます。
(くどいけど)3項演算子
どんだけ3項演算子推しやねん!ですが、前回に続き今回も。
~.cshtmlでは使えると思います。
|
| 図 3項演算子 |
~.cshtml.cs
Razorページを追加すると、
- ~.cshtml
- ~.cshtml.cs
のペアが追加されます。
今まで使っていた~.cshtmlにはHTMLに加えて、
- コードブロック
- コードナゲット
- ディレクティブ
でC#のコードが使えました。
~.cshtml.csはC#のクラス(PageModelクラス継承)です。
このクラスでHTTPのGETコマンドやPOSTコマンドに対する処理を書くことができます。
|
| 図 ~.cshtml.cs |
~.cshtml.csのプロパティで~.cshtmlへデータを渡す
プロパティはJavaのフィールド+setter、getterです。
1年のころのWindowsフォームアプリで、テキストボックス入力内容を取得する際に、Textプロパティを参照したかと思います。あれもプロパティです。
~.cshtml.cs側にプロパティを用意すれば、~.cshtml側でModel.プロパティ名でアクセス可能です。
|
| 図 ~.cshtml.csのプロパティで~.cshtmlへデータを渡す |
~.cshtml.csでGETコマンドの処理をする
HTTPのGETコマンドでリクエストされた際、~.cshtml.csのOnGet()メソッドが実行されます。
|
| 図 HTTPのGETコマンドと~.cshtml.csのOnGet()メソッド |
~.cshtml.csでPOSTコマンドの処理をする
HTTPのPOSTコマンドでリクエストされた際、~.cshtml.csのOnPost()メソッドが実行されます。
|
| 図 HTTPのPOSTコマンドと~.cshtml.csのOnPost()メソッド |







コメント