1月14日(金)1、2コマ目
今日、やったこと
C#でWebアプリケーション(Razorページ)
今日のホワイトボード
Webアプリケーションとは
広義ではクライアントとサーバー間の通信プロトコルがHTTP(またはHTTPS) を使うクライアント・サーバーアプリケーション。
狭義では通信プロトコルがHTTP(またはHTTPS)に加えて、クライアントにWebブラウザを使うクライアント・サーバーアプリケーション。
|
|
| 図 Webアプリケーション |
HTMLだけでは
HTMLには繰り返しや条件分岐ができないため、動的なページ(表示ごとに内容が異なる)の生成ができない。
そこで、動的にページ生成をする仕組みがいろいろと用意されている。これから使うRazorページもその1つ。
Razorページを使う
①プロジェクト作成
VisualStudioを起動して「ASP.Net Coreアプリケーション」のプロジェクトを作成する。
|
|
| 図 「ASP.Net Coreアプリケーション」プロジェクト作成 |
作成する際に以下の画面で「HTTPS用の構成」のチェックをはずすことに注意。
| 図 「HTTPS用の構成」のチェックをはずす |
②Startup.cs編集
「ASP.Net Core アプリケーション」プロジェクトは、デフォルトではRazorページは使うことができない。Startup.csを編集してRazorページを使えるようにする。
|
|
| 図 Startup.cs編集 |
③Razorページ追加
RazorページはPagesフォルダ以下に配備するように決められている。
まずはPagesフォルダを作成。
次に、PagesフォルダにRazorページを追加する。
|
|
| 図 Pagesフォルダ作成 |
Razorページを追加すると、
- ~.cshtml
- ~.cshtml.cs
のペアができる。
コードブロック
~.cshtml内で@{ }の中にはC#のコードが書ける。
なお、{ }内のHTMLタグはそのまま出力される。
コードブロックには
@if(){ }
@for(){}
@foreach(){ }
などがある。
|
|
| 図 コードブロック |
コードナゲット
HTMLにC#の変数を埋め込む際に使う。@変数名 のように使う。
また、@( )と書くと、( )内を先に処理して、その結果を埋め込む。
練習問題
練習1
偶数行の背景色を変える。
|
|
| 図 練習1 |
練習2
secondPage.cshtmlという名前で保存した。このページを表示するには下図のとおり、
http://localhost:xxxx/secondPage
とリクエストする。
|
|
| 図 index.cshtml以外を表示する場合 |
3項演算子
コードナゲットと組み合わせて使うと、プログラムがすっきりする。
|
|
| 図 3項演算子 |