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 ...