選單
×
   ❮     
HTML CSS JAVASCRIPT SQL PYTHON JAVA PHP 如何 W3.CSS C C++ C# BOOTSTRAP REACT MYSQL JQUERY EXCEL XML DJANGO NUMPY PANDAS NODEJS R TYPESCRIPT ANGULAR GIT POSTGRESQL MONGODB ASP AI GO KOTLIN SASS VUE DSA 生成式 AI SCIPY AWS 網路安全 資料科學
     ❯   

ASP.NET Razor - C# 和 VB 程式碼語法


Razor 同時支援 C# (C sharp) 和 VB (Visual Basic)。


C# 的主要 Razor 語法規則

  • Razor 程式碼塊用 @{ ... } 括起來
  • 內聯表示式(變數和函式)以 @ 開頭
  • 程式碼語句以分號結尾
  • 變數用 var 關鍵字宣告
  • 字串用引號括起來
  • C# 程式碼區分大小寫
  • C# 檔案具有 .cshtml 副檔名

C# 示例

<!-- 單語句塊 -->
@{ var myMessage = "Hello World"; }

<!-- 內聯表示式或變數 -->
<p>myMessage 的值是: @myMessage</p>

<!-- 多語句塊 -->
@{
var greeting = "歡迎訪問我們的網站!";
var weekDay = DateTime.Now.DayOfWeek;
var greetingMessage = greeting + " 在休斯頓今天是: " + weekDay;
}

<p>問候語是: @greetingMessage</p>
執行示例 »

VB 的主要 Razor 語法規則

  • Razor 程式碼塊用 @Code ... End Code 括起來
  • 內聯表示式(變數和函式)以 @ 開頭
  • 變數用 Dim 關鍵字宣告
  • 字串用引號括起來
  • VB 程式碼不區分大小寫
  • VB 檔案具有 .vbhtml 副檔名

示例

<!-- 單語句塊  --> 
@Code dim myMessage = "Hello World" End Code
 
<!-- 內聯表示式或變數 --> 
<p>myMessage 的值是: @myMessage</p> 
 
<!-- 多語句塊 --> 
@Code
dim greeting = "歡迎訪問我們的網站!" 
dim weekDay = DateTime.Now.DayOfWeek 
dim greetingMessage = greeting & " 在休斯頓今天是: " & weekDay
End Code


<p>問候語是: @greetingMessage</p>
執行示例 »


它是如何工作的?

Razor 是一種簡單的程式設計語法,用於在網頁中嵌入伺服器程式碼。

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

Razor 語法為您提供了 ASP.NET 的所有強大功能,但使用的是簡化的語法,如果您是初學者,則更容易學習;如果您是專家,則可以提高工作效率。

使用 Razor 語法的網頁可以描述為包含兩種內容的 HTML 頁面:HTML 內容和 Razor 程式碼。

當伺服器讀取頁面時,它會首先執行 Razor 程式碼,然後才將 HTML 頁面傳送到瀏覽器。在伺服器上執行的程式碼可以執行瀏覽器中無法完成的任務,例如訪問伺服器資料庫。伺服器程式碼可以在傳送到瀏覽器之前即時建立動態 HTML 內容。從瀏覽器的角度來看,伺服器程式碼生成的 HTML 與靜態 HTML 內容沒有什麼不同。

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


使用物件

伺服器編碼通常涉及物件。

"DateTime" 物件是一個典型的內建 ASP.NET 物件,但物件也可以是自定義的,例如網頁、文字框、檔案、資料庫記錄等。

物件可能具有它們可以執行的方法。資料庫記錄可能有一個“儲存”方法,影像物件可能有一個“旋轉”方法,電子郵件物件可能有一個“傳送”方法,依此類推。

物件還具有描述其特徵的屬性。資料庫記錄可能具有 FirstName 和 LastName 屬性(以及其他屬性)。

ASP.NET DateTime 物件有一個 Now 屬性(寫為 DateTime.Now),Now 屬性有一個 Day 屬性(寫為 DateTime.Now.Day)。下面的示例展示瞭如何訪問 DateTime 物件的某些屬性

示例

<table border="1">
<tr>
<th width="100px">名稱</th>
<td width="100px">值</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>
執行示例 »

If 和 Else 條件

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

常見的做法是使用 if ... else 語句

示例

@{
var txt = "";
if(DateTime.Now.Hour > 12)
  {txt = "晚上好";}
else
  {txt = "早上好";}
}
<html>
<body>
<p>訊息是 @txt</p>
</body>
</html>
執行示例 »

讀取使用者輸入

動態網頁的另一個重要特性是您可以讀取使用者輸入。

輸入透過 Request[] 函式讀取,並透過 IsPost 條件測試釋出(輸入)

示例

@{
var totalMessage = "";
if(IsPost)
    {
    var num1 = Request["text1"];
    var num2 = Request["text2"];
    var total = num1.AsInt() + num2.AsInt();
    totalMessage = "總計 = " + total;
    }
}

<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">第二個數字:</label><br>
<input type="text" name="text2" /></p>
<p><input type="submit" value=" 新增 " /></p>
</form>
<p>@totalMessage</p>
</body>
</html>
執行示例 »

×

聯絡銷售

如果您想將 W3Schools 服務用於教育機構、團隊或企業,請傳送電子郵件給我們
sales@w3schools.com

報告錯誤

如果您想報告錯誤,或想提出建議,請傳送電子郵件給我們
help@w3schools.com

W3Schools 經過最佳化,旨在方便學習和培訓。示例可能經過簡化,以提高閱讀和學習體驗。教程、參考資料和示例會不斷審查,以避免錯誤,但我們無法保證所有內容的完全正確性。使用 W3Schools 即表示您已閱讀並接受我們的使用條款Cookie 和隱私政策

版權所有 1999-2024 Refsnes Data。保留所有權利。W3Schools 由 W3.CSS 提供支援