「Razor」の版間の差分

imported>Administrator
ページの作成:「'''Razor'''(れざー)とは、ASP.NET MVC 3で追加されたビューエンジン(テンプレートエンジン)である。 RazorEngineというオ...」
 
imported>Administrator
編集の要約なし
 
(同じ利用者による、間の11版が非表示)
1行目: 1行目:
'''Razor'''(れざー)とは、[[ASP.NET MVC 3]]で追加されたビューエンジン(テンプレートエンジン)である。
'''Razor'''(れざー)とは、[[ASP.NET MVC 3]]で追加されたビューエンジン(テンプレートエンジン)である。
ASP.NET MVC 3ではビューエンジンをサードパーティー製も含め簡単に選べるようになったが、とくに指定しない場合は標準でRazorが使用される。
テンプレートファイルの拡張子は「.cshtml」または「.vbhtml」となる。


[[RazorEngine]]というオープンソースのRazor構文パーサーも存在する<ref>http://razorengine.codeplex.com/</ref>。
[[RazorEngine]]というあらゆる文字列をRazor構文で書けるオープンソースのRazor構文パーサーも存在する<ref>http://razorengine.codeplex.com/</ref>。


== Razor構文 ==
== Razor構文 ==
Razor構文は基本的に「@」記号で始まる。
Razor構文は基本的に「@」記号で始まる。
{{stub}}
 
@に続く1語句は、コメントや予約語を除き、基本的に[[C Sharp|C#]]のソースコード扱いとなる。
 
=== コメント ===
コメントは「@* ~ *@」と書く。
[[F Sharp|F#]]のコメント構文「(* ~ *)」に似ているが入れ子にはできない。
顔文字みたい。
<source lang="html5">
@* これは正しいコメントです *@
@* これは@*間違った*@コメントです *@
</source>
 
=== コード・ブロック ===
「@ {}」と記述するとソースコードを書くためのコードブロックになる。
<source lang="html5">
@ {
    // ここはC#のソースコードです。
    if (hoge == hage) {
        // hogehage
    }
}
</source>
 
コードブロック中にHTMLタグが出現すると自動的に開始タグでコードブロックが解除され、閉じタグでコードブロックに戻る。
<source lang="html5">
@ {
    // ここはソースコードです
    <p>ここはHTMLです</p>
    // ここはソースコードです
}
</source>
 
HTMLタグは出力したくない場合のために独自のtextタグが用意されている。
<source lang="html5">
@ {
    <text>ここはテキストです</text>
}
</source>
 
textタグを打ち込むのが面倒な人のために「@:」という1行用の省略構文も用意されている。
<source lang="html5">
@ {
    @:ここはテキストです
}
</source>
 
=== 基本構文 ===
=== 基本構文 ===
==== RenderBody構文 ====
==== RenderBody構文 ====
25行目: 72行目:
* [[ASP.NET MVC]]
* [[ASP.NET MVC]]
* [[WebMatrix]]
* [[WebMatrix]]
== 参考文献 ==
== 参考文献 ==
<references/>
<references/>
== 外部リンク ==
== 外部リンク ==
{{stub}}
{{stub}}