首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
您现在的位置: 程式碼之家 >> 編程語言 >  >> .NET 網頁程式設計 >> ASP.NET 基礎 >> ASP.NET 基礎

ASP.NET Razor 語法核心參考:C# 與 VB.NET 完整對照

     編輯:ASP.NET 基礎

ASP.NET Razor - C# 與 VB.NET 程式碼語法完整參考指南


Razor 是 ASP.NET 的伺服器端標記語法,支援 C# (C Sharp) 與 VB.NET (Visual Basic) 兩種程式語言,提供簡潔優雅的程式碼嵌入體驗。


C# Razor 核心語法規則

  • 程式碼區塊:@{ ... } (隱含輸出) 或 @functions { ... } (定義函數)
  • 內嵌運算式:@variable、@(expression) (複雜運算式需括號)
  • 陳述式結尾:分號 ;
  • 變數宣告:var (型別推論) 或顯式型別
  • 字串常值:雙引號 "..."、逐字字串 @"..."
  • 大小寫敏感
  • 檔案副檔名:.cshtml

C# 完整範例

<!-- Single statement block -->
@{ var myMessage = "Hello World"; }

<!-- Inline expression -->
<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 Houston it is: " + weekDay;
}
<p>The greeting is: @greetingMessage</p>

執行範例 »


VB.NET Razor 核心語法規則

  • 程式碼區塊:@Code ... End Code
  • 內嵌運算式:@variable
  • 變數宣告:Dim 關鍵字
  • 字串常值:雙引號 "..."
  • 不區分大小寫
  • 檔案副檔名:.vbhtml
  • 字串串接:& 運算子 (建議) 或 +

VB.NET 完整範例

<!-- Single statement block -->
@Code Dim myMessage = "Hello World" End Code

<!-- Inline expression -->
<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 Houston it is: " & weekDay
End Code

<p>The greeting is: @greetingMessage</p>

執行範例 »


Razor 運作原理:伺服器端渲染管線

Razor 是將伺服器程式碼嵌入網頁的簡化語法,基於 ASP.NET 框架 (Microsoft .NET Framework 核心子集):

  1. 支援完整 ASP.NET 功能:Session、快取、安全性、模型繫結、驗證等
  2. 簡化語法降低門檻:比傳統 ASPX/Web Forms 更易學、更高效
  3. 頁面組成:HTML 內容 + Razor 程式碼 (伺服器端執行)
  4. 執行流程:要求 → 伺服器執行 Razor 程式碼 → 產生動態 HTML → 回應瀏覽器
  5. 瀏覽器視角:接收純 HTML,無法辨識伺服器端程式碼來源

副檔名對應:.cshtml (Razor C#)、.vbhtml (Razor VB.NET)。


物件導向程式設計在 Razor 中的應用

伺服器程式碼核心在於物件操作。內建物件範例:DateTime、Request、Response、Server、Session。自訂物件:資料庫實體、ViewModel、服務類別。

  • 方法:執行動作 (如 Database.Query()、Email.Send()、Image.Rotate())
  • 屬性:描述特徵 (如 User.FirstName、Product.Price、DateTime.Now.Day)

範例:DateTime 物件屬性存取

<table border="1">
<tr><th>Name</th><td>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>
</table>

執行範例 »


條件判斷與使用者輸入處理

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>

執行範例 »

表單輸入讀取與 POST 判斷

@{
 var totalMessage = "";
 if (IsPost)
 {
 var num1 = Request["text1"];
 var num2 = Request["text2"];
 var total = num1.AsInt() + num2.AsInt();
 totalMessage = "Total = " + total;
 }
}
<html><body>
<form method="post">
<p><label>First Number:</label><br><input type="text" name="text1" /></p>
<p><label>Second Number:</label><br><input type="text" name="text2" /></p>
<p><input type="submit" value="Add" /></p>
</form>
<p>@totalMessage</p>
</body></html>

執行範例 »

IsPost 檢查 HTTP 方法。Request[key] 存取表單/查詢字串值。AsInt() 安全轉換字串為整數。


C# 與 VB.NET Razor 語法快速對照總表

語法元素C# (.cshtml)VB.NET (.vbhtml)
程式碼區塊@{ ... }@Code ... End Code
內嵌運算式@expr@expr
區塊分隔{ }關鍵字
陳述式結尾;換行
變數宣告var / 型別Dim
字串串接+&
邏輯 AND&&AndAlso
邏輯 OR||OrElse
不等於!=<>
陣列/索引arr[i]arr(i)
大小寫敏感是否
註解@* ... *@ / // /* */@* ... *@ / '

  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved