Razor 構文
ASP.NET Razor - C# および VB コード構文
Razor は、C# (C Sharp) と VB (Visual Basic) の両方をサポートします。
Razor C# の主な構文規則
- Razor コード ブロックは @{ ... } で囲まれます
- インライン式 (変数と関数) は @ で始まります
- コード ステートメントはセミコロンで終わります
- 変数の使用法 var キーワード宣言
- 文字列は引用符で囲まれています
- C#コードは大文字と小文字が区別されます
C#ファイル拡張子は.cshtml
例
<html> <body> <!-- Single statement block --> @{ var myMessage = "Hello World"; } <!-- Inline expression or variable --> <p>The value of myMessage is: @myMessage</p> <!-- Multi-statement block --> @{ var greeting = "Welcome to our site!"; var weekDay = DateTime.Now.DayOfWeek; var greetingMessage = greeting + " Here in Huston it is: " + weekDay; } <p>The greeting is: @greetingMessage</p> </body> </html>
サンプルを実行する»
オンラインサンプルを表示するには、「サンプルを実行」ボタンをクリックしてください例
Razor VB の主な構文規則
- Razor コード ブロックは @Code ... 終了コードに含まれています
- インライン式 (変数と関数) は @ で始まります
- 変数 Dim キーワードを使用して
- を宣言します引用符で囲まれた文字列
- VB コードでは大文字と小文字が区別されません
- VB ファイルの拡張子は .vbhtml です
例
<!-- Single statement block --> @Code dim myMessage = "Hello World" End Code <!-- Inline expression or variable --> <p>The value of myMessage is: @myMessage</p> <!-- Multi-statement block --> @Code dim greeting = "Welcome to our site!" dim weekDay = DateTime.Now.DayOfWeek dim greetingMessage = greeting & " Here in Huston it is: " & weekDay End Code <p>The greeting is: @greetingMessage</p>
サンプルの実行»
オンラインサンプルを表示するには、「サンプルの実行」ボタンをクリックしてください
どのように機能しますか?
Razor は、Web ページにサーバー コードを埋め込む単純なプログラミング構文です。
Razor 構文は、Web アプリケーションの作成用に特別に設計された Microsoft.NET フレームワークの一部である ASP.NET フレームワークに基づいています。
Razor 構文はすべての ASP.NET 機能をサポートしていますが、初心者にとっては学習しやすく、専門家にとっては効率的な簡素化された構文が使用されています。
Razor Web ページは、次の 2 種類のコンテンツを含む HTML Web ページとして記述することができます。 HTML コンテンツと Razor コード。
サーバーがページを読み取るとき、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 オブジェクトの一部のプロパティにアクセスする方法を示しています。
Instance
<table border="1"> <tr> <th width="100px">Name</th> <td width="100px">Value</td> </tr> <tr> <td>Day</td><td>@DateTime.Now.Day</td> </tr> <tr> <td>Hour</td><td>@DateTime.Now.Hour</td> </tr> <tr> <td>Minute</td><td>@DateTime.Now.Minute</td> </tr> <tr> <td>Second</td><td>@DateTime.Now.Second</td> </tr> </td> </table>
実行例»
オンライン例を表示するには、[インスタンスの実行] ボタンをクリックしてください
If 条件と Else 条件動的 Web ページの
重要な機能は、条件に基づいて何を行うかを決定できることです。
これを行う一般的な方法は、if...else ステートメントを使用することです:
インスタンス
@{ var txt = ""; if(DateTime.Now.Hour > 12) {txt = "Good Evening";} else {txt = "Good Morning";} } <html> <body> <p>The message is @txt</p> </body> </html>
インスタンスの実行»
[インスタンスの実行] ボタンをクリックしてオンライン インスタンスを表示します
ユーザー入力を読み取る
動的 Web ページのもう 1 つの重要な機能は、ユーザー入力を読み取ることができることです。
入力は Request[] 関数を通じて読み取られ、入力データは IsPost 条件を通じて送信されます:
Instance
@{ var totalMessage = ""; if(IsPost) { var num1 = Request["text1"]; var num2 = Request["text2"]; var total = num1.AsInt() + num2.AsInt(); totalMessage = "Total = " + total; } } <!DOCTYPE html> <html> <body style="background-color: beige; font-family: Verdana, Arial;"> <form action="" method="post"> <p><label for="text1">First Number:</label><br> <input type="text" name="text1"></p> <p><label for="text2">Second Number:</label><br> <input type="text" name="text2"></p> <p><input type="submit" value=" Add "></p> </form> <p>@totalMessage</p> </body> </html>
インスタンスの実行 »
「インスタンスの実行」ボタンをクリックしてオンラインインスタンスを表示します