Razor語法大全

2021-08-14 15:00:35 字數 3495 閱讀 4168

razor是基於framewor4以上寫的乙個開源專案:

razor是包含了模板引擎和動態編譯兩部分。本部分就簡單記錄了模板引擎的一些語法,之後用razor做乙個**生成器,就使用razor的語法來。

razor的發布是和mvc一起的,作為mvc的檢視模板引擎。

razor可以在vb.net和c#中使用。分別對應了兩種檔案型別,.vbhtml.cshtml

@字元被定義為razor伺服器**塊的識別符號,後面的表示是伺服器**了。web form中使用<%%>中寫伺服器**乙個道理。在vs工具裡面提供了**著色和智慧型感應的功能。如下面**:

@

@username

@datetime.now.tostring("yyyy-mm-hh")

在上面乙個例子中都已經使用到了大括號{},不錯,大括號裡面的就是表示作用域的範圍,用形如@來寫一段**塊。

@
在作用域(**塊)中輸出也是用@符號的。

razor中寫html**和html**中寫razor語句都是可以的,並且還有智慧型提示。

a.在作用域內如果是以html標籤開始則視為文字輸出

b.如果要輸出@,則使用@@

c.如果要輸出非html標籤和非razor語句的**,則用@:,他的作用是相當於在處於html下面編寫一樣了,如在@:後面可以加上@就是表示razor語句的變數

如:

@
razor作用塊裡面本身就是伺服器**了,因此可使用伺服器**的注釋,注釋有///**/分別是單行注釋和多行注釋。

另外razor注釋還可以使用自身特有的@* 注釋的內容 *@,支援單行和多行的。

@
as系列擴充套件方法和is系列擴充套件方法

asint(), isint()

asbool(),isbool()

asfloat(),isfloat()

asdecimal(),isdecimal()

asdatetime(),isdatetime()

tostring()

@

i = @i.asint() p>

@href("~/")//表示**的根目錄
@html.raw(module.content)輸出html,如:@html.raw('紅字'),就會顯示出紅色的」紅字「,不用的話會直接顯示這段html字串(紅色文字

在實際中,比如乙個**,整個框架是一樣的,而有的地方是很多相同的版塊。因此我們需要復用。

layout方式布局就是相當於乙個模板一樣的,我們在它位址地方去新增**。相當於定義好了框架,作為乙個母版頁的,在它下面的頁面需要修改不同**的地方使用@renderbody()方法

lang="en">

charset="utf-8"/>

我的** - @page.titletitle>

head>

@renderbody()

body>

html>

@

this is a layout test

page是當需要在乙個頁面中,輸出另外乙個razor檔案的內容時候用到,比如頭部或者尾部這些公共的內容時候需要用到。輸出就使用@renderpage()方法

如:a頁面中也要把b頁面的內容輸出

a頁面:

@renderpage("/b.cshtml")

b頁面的**如下:

color="red">這是乙個子頁面font>
section是定義在layout的中使用的。在layout的頁面中用。在要layout的父頁面中使用@rendersection("section名稱 ")

定義:

lang="en">

charset="utf-8"/>

我的** - @page.titletitle>

head>

@rendersection("submenu")

@renderbody()

body>

html>

在它的子頁面中使用

@section submenu
如果在子頁面中沒有去實現了submenu了,則會丟擲異常。我們可以它的過載@rendersection("submenu", false)

@if (issectiondefined("submenu"))

else

helper就是可以定義可重複使用的幫助器方法,不僅可以在同乙個頁面不同地方使用,還可以在不同的頁面使用。

如在cshtml中那麼寫:

@helper sum(int a,int b)

@@helper的語法p>

2+3=@sum(2,3)p>

5+9=@sum(5,9)p>

div>

我們通常會把一類helper放在乙個單獨的cshtml檔案中,而檔名就相當於乙個類名。

我把sum放在helpmath.cshtml檔案中,則我們在那上面cshtml中的使用方法是:

[email protected](2,3)p>

[email protected](5,9)p>

另外,系統還為我們提供了一些列的helper,用來簡化html的書寫。這些helper放在@html中,我們可以方便的使用:

@html.textbox("txtname")

Razor語法大全

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

Razor語法示例

本章通過示例來說明常見用途下的razor語法。1.razor中的核心轉換符號是 這個單一字元用做標記 的轉換字元,有時也反過來用作 標記的轉換字元。這裡共有兩種基本型別的轉換 表示式和 塊。求出表示式的值,然後將值寫入到響應中。rootnamespace.models 在這個示例中想要的輸出結果是 ...

Razor基本語法

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