ホームページ > バックエンド開発 > C#.Net チュートリアル > ASP.NET学習メモを共有する (13) Razor構文の詳細説明

ASP.NET学習メモを共有する (13) Razor構文の詳細説明

零下一度
リリース: 2017-05-27 16:10:24
オリジナル
1103 人が閲覧しました

ASP.NET Razor - C# および VB コード構文

Razor は、C# (C Sharp) と VB (Visual Basic) の両方をサポートします。

Razor C# の主な構文規則

Razor コード ブロックは @{...} で囲まれます

インライン式 (変数と関数) は @ で始まります

コード ステートメントはセミコロンで終わります

変数は 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 コード ブロックには In @Code...end code が含まれています

Inline式 (変数と関数) は @ で始まります

変数は 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 --> @Codedim greeting = "Welcome to our site!" dim weekDay = DateTime.Now.DayOfWeek dim greetingMessage = greeting & " Here in Huston it is: " & weekDayEnd Code <p>The greeting is: @greetingMessage</p>
ログイン後にコピー

どのように機能するのでしょうか?

Razor は、Web ページにサーバー コードを埋め込むための簡単な プログラミング 構文です。

Razor 構文は、Web アプリケーションの作成用に特別に設計された Microsoft.NET フレームワークの一部である ASP.NETFramework に基づいています。

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 の日付オブジェクトには now 属性 (Date.Now として記述) があり、now 属性には day 属性 (Date.Now.Day として記述) があります。次の例は、データ オブジェクトの一部のプロパティにアクセスする方法を示しています。

<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 および ElseConditional

動的 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>
ログイン後にコピー

读取用户输入

动态网页的另一个重要特点是,您可以读取用户输入。

输入是通过请求[]功能读取的,并且传送输入数据是经过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>
ログイン後にコピー

【相关推荐】

1. ASP.NET免费视频教程

2. 分享ASP.NET学习笔记(1)--WebPages Razor

3. 分享ASP.NET学习笔记(2)--WebPages 介绍

4. 分享ASP.NET学习笔记(3)WebPages 布局

5. 分享ASP.NET学习笔记(4)文件夹

6. 分享ASP.NET学习笔记(5)全局页面 AppStart 和 PageStart

7. 分享ASP.NET学习笔记(12)Razor 简介

以上がASP.NET学習メモを共有する (13) Razor構文の詳細説明の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

関連ラベル:
ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート