Razor C#の両方をサポート(C sharp)とVB (Visual Basic) 。
主なRazorのC#の構文規則
- Razorコードブロックは、@ {...}で囲まれています
- インライン表現(variables and functions) @で始まります
- コードステートメントはセミコロンで終了します
- 変数はvarキーワードで宣言されています
- 文字列は引用符で囲まれています
- C#コードは、大文字と小文字が区別され
- C#のファイルの拡張子を持っている.cshtml
C#の例
<!-- 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>
»実行例 メインRazor VBの構文規則
- Razorコードブロックは、@code ...終了コードで囲まれています
- インライン表現(variables and functions) @で始まります
- 変数は薄暗いキーワードで宣言されています
- 文字列は引用符で囲まれています
- 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構文は、ASP.NETフレームワーク、特にWebアプリケーションを作成するために設計されていますMicrosoft.NET Frameworkの一部に基づいています。
Razor構文を使用すると、ASP.NETのすべての力を与えるが、あなたが初心者かどうかを学習する方が簡単です単純化された構文を使用している、とあなたは専門家ならあなたがより生産的になります。
Razor HTMLコンテンツと:Webページには、コンテンツの2種類のHTMLページとして記述することができRazorコード。
サーバーがページを読み込むと、それが実行さRazorそれがブラウザにHTMLページを送信する前に、最初のコードを。 サーバー上で実行されるコードは、サーバーのデータベースにアクセスするたとえば、ブラウザで行うことができないタスクを実行することができます。 それがブラウザに送信される前に、サーバー・コードは、その場で動的なHTMLコンテンツを作成することができます。 ブラウザから見ると、サーバコードによって生成されたHTMLは、静的なHTMLコンテンツよりも違いはありません。
ASP.NET WebページRazor構文は、特殊なファイル拡張子CSHTML持つ( Razor using C#)またはvbhtml ( Razor using VB) 。
オブジェクトの使用
サーバのコーディングは、多くの場合、オブジェクトが含まれます。
"DateTime"オブジェクトは、組み込みのASP.NETオブジェクトの典型的ですが、オブジェクトはまた、ウェブページ、テキストボックス、ファイル、データベースレコードなどの自己定義することができ
オブジェクトは、彼らが実行できる方法を有することができます。 データベースレコードは持っているかもしれない"Save"イメージオブジェクトが持つかもしれない、方法を"Rotate" 、電子メールオブジェクトが持っているかもしれない、方法を"Send"ようにする方法を、と。
オブジェクトはまた、それらの特性を記述するプロパティを持っています。 データベースレコードは、姓と名のプロパティている場合があります(amongst others) 。
ASP.NET DateTimeオブジェクトは今性質がある(written as DateTime.Now) 、今すぐプロパティが日プロパティがある(written as DateTime.Now.Day) 。 以下の例は、DateTimeオブジェクトの一部のプロパティにアクセスする方法を示しています。
例
<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>
»実行例 もし、他の条件
動的な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ページのもう一つの重要な機能を使用すると、ユーザーの入力を読み取ることができるということです。
入力が要求[]関数、および転記によって読み取られる(input) IsPost条件によって試験されます。
例
@{
var totalMessage = "";
if(IsPost)
{
var num1 = Request["text1"];
var num2 = Request["text2"];
var total = num1.AsInt() + num2.AsInt();
totalMessage =
"Total = " + total;
}
}
<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>
»実行例