iT邦幫忙

2024 iThome 鐵人賽

DAY 20
0
佛心分享-IT 人自學之術

ASP.NET Core 30日成長路系列 第 20

Day20:Razor語法入門

  • 分享至 

  • xImage
  •  

Razor語法入門


Razor語法概觀
Razor又稱Razor Syntax,是用來將Server Side中的C#程式嵌入到HTML中的Markdown Syntax標記語法。且Razor並不是一種程式語言,而是一種語法。

說明📄
1.Razor中只包含C#與HTML兩種元素,這兩者就形成了Razor語法。
2.C#程式區塊以@{...}包覆,裡面是一般的C#程式。
3.Razor inline表達式是C#穿插在HTML中的式子,Razor中預設的是HTML語言,只要是接在@後面的就是C#指令。
4.Razor會依照不同的規則在HTML與C#中做切換。
5.Razor語法只能在View檢視中使用而不能在.html中使用,因此也稱為Razor View或者View Template。

講完了Razor語法的概觀了,那接下來就來講講Razor語法的一些規則吧~

15條Razor語法規則
https://ithelp.ithome.com.tw/upload/images/20241004/201675502SqI3QgEiI.png
1.以@符號作為C#的開頭

2.以@{...}宣告單行C#程式

3.以@{...}宣告多行C#程式

4.C#的inline表達式
C#變數包含在HTML中被稱為inline表達式,且若在前面加上@作為變數值,則變數值會做HTML編碼,輸出成純文字。

5.C#程式區塊中的HTML隱式轉換
@{...}程式區塊中預設語言是C#,但若出現了HTML語法,Razor會自動做隱式轉換,將該部分輸出為HTML。

6.C#關鍵字區分大小寫
若變數名稱僅大小寫不同,仍為獨立變數。

7.單行註解用@...@

8.多行註解用@...@

9.Razor隱性表達式是用@
定義將@之後的轉為C#語法。

10.Razor明確表達式是用@()
明確定義將@()中所包覆的程式碼作為C#運算式。

11.以文字顯示@符號,需用@@表示
若要用文字顯示@符號,需再加一個@做為跳脫符號。
若要顯示頭昏眼花的表情符號@_@時,則輸入範例如下

<p>
    @@_@@<br />
</p>

12.字串變數中的雙引號顯示
如果要在字串內加入雙引號的話,首先要先在開頭加@,然後打雙引號的時候要打兩個

//範例如下
@{var word = @"子曰:""三人行,必有我師焉""...";}

輸出如下:
「子曰:"三人行,必有我師焉"...」

13.用@(...)將HTML或JS編碼做成純文字
@(...)內除了做運算外,還可以將表達式做HTML編碼轉成純文字。

說明📄
無論HTML或JavaScript都會被編碼成純文字,目的是增加網頁安全性,避免被注入攻擊程式。

14.用@Html.Raw()顯示原始字串,不做HTML編碼
字串變數若想顯示原始值而不被編碼,可使用@Html.Raw(...)指令。

說明📄
1.會產生一個HTML按鈕,而非文字,按下會有Alert訊息。
2.不做HTML編碼可能會有安全性問題。

15.磁碟路徑表示法
字串變數若包含磁碟路徑,可在最前面加上@符號

@{ var filePath = @"C:\Users\ethers\Downloads\AEL022900範例檔\AEL022900範例檔\MVC2019\ch02\slnToDo\slnToDo.sln"; }
<p>磁碟路徑:@filePath</p>

那麼以上就是今天的分享啦~明天要跟朋友去逛博物館,嘻嘻
明天見啦~See YA(。•̀ᴗ-)


上一篇
Day19:Grid網格系統使用解析
下一篇
Day21:什麼是Partial View(部分檢視)
系列文
ASP.NET Core 30日成長路30
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言