Razor は C# (C Sharp) と VB (Visual Basic) の両方をサポートしています。
このセクションでは、Razor C# と Razor VB の構文規則について説明します。
Razor コード ブロックは @{ ... } で囲まれます。
インライン式 (変数および関数) は @ で始まります
コードステートメントはセミコロンで終了します
変数は var キーワードを使用して宣言されます
引用符で囲まれた文字列
C# コードでは大文字と小文字が区別されます
C# ファイル拡張子は .cshtml です。
<!-- 単一のステートメント ブロック --> @{ var myMessage = "Hello World" } <!-- インライン式または変数 --> <p>myMessage の値は次のとおりです: @myMessage </p> <!-- 複数ステートメント ブロック --> @{vargreeting = "私たちのサイトへようこそ!";var weekDay = DateTime.Now.DayOfWeek;vargreetingMessage =greeting + " ここヒューストンでは次のようになります: " + 曜日;} <p>挨拶は次のとおりです: @greetingMessage </p>
Razor コード ブロックは @Code ... End Code で囲まれます。
インライン式 (変数および関数) は @ で始まります
変数は Dim キーワードを使用して宣言されます
引用符で囲まれた文字列
VB コードは大文字と小文字を区別しません
VB ファイルの拡張子は .vbhtml です。
<!-- 単一ステートメント ブロック --> @Code dim myMessage = "Hello World" 終了コード<!-- インライン式または変数 --> <p>myMessage の値は次のとおりです: @myMessage </p> <!-- 複数ステートメント ブロック --> @Codedimgreeting = "私たちのサイトへようこそ!" dim weekDay = DateTime.Now.DayOfWeek dimgreetingMessage =greeting & " ここはヒューストンです: " & WeekDayEnd コード<p>挨拶は次のとおりです: @greetingMessage </p>
Razor は、Web ページにサーバー コードを埋め込むための単純なプログラミング構文です。
Razor 構文は、Web アプリケーションの作成専用に設計された Microsoft .NET フレームワークの一部である ASP.NET フレームワークに基づいています。
Razor 構文は ASP.NET のすべての機能をサポートしていますが、初心者にとっては学習しやすく、専門家にとってはより効率的な簡素化された構文が使用されています。
Razor Web ページは、HTML コンテンツと Razor コードという 2 種類のコンテンツを含む HTML Web ページとして記述することができます。
サーバーはページを読み取ると、HTML ページをブラウザーに送信する前に、まず Razor コードを実行します。サーバー上で実行されるコードは、サーバー データベースへのアクセスなど、ブラウザーでは実行できないタスクを実行できます。サーバー コードは動的な HTML コンテンツを作成し、それをブラウザーに送信できます。ブラウザーの観点から見ると、サーバー コードによって生成された HTML は静的な HTML コンテンツと何ら変わりません。
Razor 構文を使用した ASP.NET Web ページには、cshtml (Razor C#) または vbhtml (Razor VB) という特別なファイル拡張子が付いています。
サーバーのコーディングにはオブジェクトが関係することがよくあります。 "Date" オブジェクトは典型的な組み込み ASP.NET オブジェクトですが、オブジェクトはカスタム オブジェクト、Web ページ、テキスト ボックス、ファイル、データベース レコードなどにすることもできます。 オブジェクトには実行のためのメソッドがあります。データベース レコードには「Save」メソッドがあり、画像オブジェクトには「Rotate」メソッドがあり、電子メール オブジェクトには「Send」メソッドがあるなどです。 オブジェクトには、その特性を説明するプロパティもあります。データベース レコードには、FirstName プロパティと LastName プロパティが含まれる場合があります。
ASP.NET Date オブジェクトには Now プロパティ (Date.Now として記述) があり、Now プロパティには Day プロパティ (Date.Now.Day として記述) があります。次の例は、Data オブジェクトのいくつかのプロパティにアクセスする方法を示しています。
<table> <tr> <th>名前</th> <td>値</td> </tr> <tr> <td>日</td><td>@DateTime.Now.Day </td> </tr> <tr> <td>時間</td><td>@DateTime.Now.Hour </td> </tr> <tr> <td>分</td><td>@DateTime.Now.Minute </td> </tr> <tr> <td>秒</td><td>@DateTime.Now.Second </td> </tr> </td> </table>
動的 Web ページの重要な特徴は、条件に基づいて何を行うかを決定できることです。
これを行う一般的な方法は、if ... else ステートメントを使用することです。
@{var txt = "";if(DateTime.Now.Hour > 12){txt = "こんばんは";}else{txt = "おはよう";}} <html> <body> <p>メッセージは @txt です</p> </body> </html>
動的 Web ページのもう 1 つの重要な機能は、ユーザー入力を読み取ることができることです。
入力は Request[] 関数を通じて読み取られ、入力データは IsPost 条件を通じて送信されます。
@{var totalMessage = "";if(IsPost){var num1 = Request["text1"];var num2 = Request["text2"];var total = num1.AsInt() + num2.AsInt();totalMessage = "合計 = " + 合計;}} <html> <body style="background-color:beige; font-family: Verdana、Arial;"> <form action="" method="post"> <p><label for="text1">最初の番号: </label><br> <input type="text" name="text1" /></p> <p><label for="text2">2 番目の番号:</label><br> <input type= "text" name="text2" /></p> <p><input type="submit" value=" " /></p> </form> <p>@totalMessage を追加します</p> </body> </html>