程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> .NET網頁編程 >> 關於.NET >> Razor基礎語法一,Razor基礎語法

Razor基礎語法一,Razor基礎語法

編輯:關於.NET

Razor基礎語法一,Razor基礎語法


目錄:

  • 什麼是Razor?
  • 渲染HTML
  • Razor語法
  • 隱式 Razor 表達式
  • 顯式 Razor 表達式

什麼是Razor?

Razor是基於服務端代碼轉換成網頁的標記語法。語法主要包括Razor標記、C#和HTML組成。包含Razor語法的主要文件是.cshtml。

渲染HTML

Razor的默認語言是HTML,從Razor渲染成一個HTML跟直接的一個HTML沒什麼區別,Razor包含如下代碼:

<p>我是中國人</p>

服務器渲染後還是<p>我是中國人</p>,沒啥區別。

Razor語法

Razor支持C#,並通過使用 @ 符號從HTML切換到C#,並運算C#表達式並將之渲染為HTML輸出。Razor能通過指定的標記從HTML切換到C#,當 @ 符號後面緊跟一個Razor保留字,則將切換為Razor特定標記,不然的話切換到成普通的C#。

如果HTML中需要包含 @ 的話,需要用@@符號進行轉義。

<p>@@Email</p>

 渲染後:

<p>@Email</p>

 這樣就不會因為HTML特性和內容中包含郵件地址@符號,而勿將@符號處理為轉義字符。

隱式 Razor 表達式

隱式Razor表達式起於"@"符號,後面緊跟C#代碼,比如:

<h2>@DateTime.Now</h2>

 注意:隱式表達式都不能包含空格。否則分析器會報如下錯誤:

 在 "@" 字符後面遇到了空格或換行符。只有有效的標識符、關鍵字、注釋、"(" 和 "{" 在代碼塊開頭才有效,並且它們必須緊跟在 "@" 後面,中間沒有空格。

表達式

顯式表達式包含一對括號的 符號,比如在頁面上渲染上周的時間:

<h2>@(DateTime.Now-TimeSpan.FromDays(7))</h2>

任何在 @() 內的內容都會被運算並渲染輸出,同時也不能包含空格。比如如下代碼:

<h2>@DateTime.Now-TimeSpan.FromDays(7)</h2>

 渲染後:

2016/10/24 22:39:49-TimeSpan.FromDays(7)

同時也可以使用@{}顯示表達式結果中把這點連接起來:

@{
    var swich = new Person("Swich", 27);
 }
 <h2>@(swich.Age)</h2>

如果寫成@(swich.Age)這種非顯示表達式,那麼它會當做郵件地址來處理渲染成為<h2>@swich.Age</h2>。當為顯式表達式時,將渲染為<h2>27</h2>。

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved