首頁  >  文章  >  後端開發  >  分享ASP.NET學習筆記(13)Razor 文法詳解

分享ASP.NET學習筆記(13)Razor 文法詳解

零下一度
零下一度原創
2017-05-27 16:10:241083瀏覽

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程式碼區塊包含在@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 --> @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是一種將伺服器程式碼嵌入在網頁中的簡​​單的程式設計語法。

Razor語法是基於ASP.NET框架,專門用於建立網頁應用程式的部分Microsoft.NET框架。

Razor語法支援所有ASP.NET的功能,但使用的是一種簡化語法,對初學者而言更容易學習,對專家而言更有效率的。

Razor網頁可以被描述成帶有一個兩種類型內容的HTML網頁:HTML內容和Razor程式碼。

當伺服器讀取頁面時,它會先執行Razor程式碼,然後再傳送HTML頁面到瀏覽器。在伺服器上執行的程式碼能夠執行一些在瀏覽器上無法完成的任務,例如,存取伺服器資料庫。伺服器程式碼能建立動態的HTML內容,然後傳送到瀏覽器。從瀏覽器上看,伺服器程式碼產生的HTML與靜態的HTML內容沒有什麼不同。

Razor語法的ASP.NET網頁有特殊的檔案副檔名cshtml(Razor C#)或vbhtml(Razor VB)。

使用物件

伺服器編碼往往涉及到物件。

「日期」對像是一個典型的內建的ASP.NET對象,但對像也可以是自訂的,一個網頁,一個文字框,一個文件,一個資料庫記錄,等等。

物件有用一個資料庫記錄可能有一個「儲存」方法,一個影像物件可能有一個「旋轉」方法,一個電子郵件物件可能有一個「傳送」方法,等等。

物件也有用來描述各自特點的屬性。一個資料庫記錄可能有FirstName和LastName屬性。

ASP.NET日期物件有一個現在屬性(寫成Date.Now),現在屬性有一個日屬性(寫成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>

如果和Else條件

動態網頁的一個重要特點是,您可以根據條件決定要做什麼。

做到這一點的常用方法是使用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中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn