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()メソッド



コメント

このブログの人気の投稿

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

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

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