Razor語法示例

2021-08-28 11:51:58 字數 2159 閱讀 8001

本章通過示例來說明常見用途下的razor語法。

1.razor中的核心轉換符號是@。這個單一字元用做標記-**的轉換字元,有時也反過來用作**-標記的轉換字元。這裡共有兩種基本型別的轉換:**表示式和**塊。求出表示式的值,然後將值寫入到響應中。

@rootnamespace.models

在這個示例中想要的輸出結果是:

然而,這樣會提示string沒有models屬性。這種情況下,razor是不能理解我們的意圖的,razor支援將表示式用圓括號括起來以支援顯示**表示式:

@(rootnamespace).models

這樣就告知了razor,.models是字面量文字,而不是表示式的一部分。

同時razor支援使用@@來轉義@符號,

如you should follow @@aspnet

輸出效果為:you should follow @aspnet

2.html編碼

如果想展示html標記,就返回乙個system.web.ihtmlstring物件的例項,razor並不對它進行編碼。同時也可以建立乙個htmlstring的例項或者使用html.raw便捷方法:

string message = "這是乙個測試!";

@html.raw(message)

效果:這是乙個測試

3.**塊

razor在檢視中除了支援**表示式以外,還支援**塊。

@foreach(var item in stuff)

這段**迭代了乙個陣列,並為陣列中的每一項顯示了乙個列表項元素。

4razor語法示例

4.1.隱式**表示式

如前所述,**表示式將被計算並將值寫入到響應中,這就是在檢視中顯示值得一般原理。

@model.message

razor中的隱式**表示式總是採用html編碼方式。

4.2顯式**表示式

**表示式的值將被計算並寫入到響應中,這就是在檢視中顯示值得一般原理。

1+2=@(1+2)

4.3無編碼**表示式

有些情況下,需要顯式的渲染一些不應該採用html編碼的值,這時可以採用html.raw方法來保證該值不被編碼。

@html.raw(model.message)

4.4**塊

不像**表示式先求得表示式的值,然後再輸出到響應,**塊是簡單地執行**部分。這一點對於宣告以後要使用到的變數是有幫助的。

int x = 123;

string y = "because.";

4.5文字和標記相結合

這個例子顯示了在razor中混用文字和標記的概念,具體如下:

@foreach(var item in items){

item @item.name.

4.6混合**和純文字

razor查詢標籤的開始位置以確定何時將**轉換為標記。然而,有時可能想在乙個**塊之後立即輸出純文字。

@if(showmessage){

this is plain text

或@if(showmessage){

@:this is plain text.

razor 可採用兩種不同的方式來混合**和純文字。第一種是使用標籤,這樣只是把標籤內容寫入到響應中,而標籤本身則不寫入,如果想迴轉標記,只需要使用乙個標籤就行了。第二種方式是使用一種特殊的語法,來實現從**到純文字的轉換,但是每次只能作用於一行文字。

4.7轉義**分隔符

可以用@@來編碼@以達到顯示@的目的。此外始終都可以選擇使用html編碼來實現。

razor:the asp.net twitter handle is @;aspnet

或 the asp.net twitter handle is @@64;aspnet

4.8伺服器端的注釋

razor為注釋一塊**和標記提供了美觀的語法。

@* this is a multiline server side comment.

@if(showmessage){

all of this is commented out.

4.9呼叫泛型方法

這與顯示**表示式基本沒有什麼不同。需要注意一點的是:呼叫泛型方法的**包含尖括號。書寫時需要用圓括號括起來。

@(html.somemethod)())

Razor語法大全

razor是基於framewor4以上寫的乙個開源專案 razor是包含了模板引擎和動態編譯兩部分。本部分就簡單記錄了模板引擎的一些語法,之後用razor做乙個 生成器,就使用razor的語法來。razor的發布是和mvc一起的,作為mvc的檢視模板引擎。razor可以在vb.net和c 中使用。分...

Razor基本語法

razor引擎的核心是識別 符號及尖括號 1 2 之所以說是 尖括號 而非 元素標籤 見下面的例子。for int i 0 i 5 i 語法一 表示式 1 0 1等於0 1不等於0 語法二 語句塊 else 語法三 1 後面直接跟變數輸出變數的內容 2 後面直接跟有返回值的方法輸出方法的返回值 3 ...

Razor基礎語法

一 介紹 razor是asp.net mvc檢視引擎的代號,支援.cshtml和.vbhtml兩種模板檔案,符號 標記服務端 的開始,比以前asp.net的 更加簡潔 二 基本用法 1.注釋 div h3 注釋 h3 這裡是注釋 div 2.定義一行 div h3 定義一行 h3 span cur ...