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語法規則
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(。•̀ᴗ-)