Razor

提供: MonoBook
移動: 案内検索

Razor(れざー)とは、ASP.NET MVC 3で追加されたビューエンジン(テンプレートエンジン)である。 ASP.NET MVC 3ではビューエンジンをサードパーティー製も含め簡単に選べるようになったが、とくに指定しない場合は標準でRazorが使用される。 テンプレートファイルの拡張子は「.cshtml」または「.vbhtml」となる。

RazorEngineというあらゆる文字列をRazor構文で書けるオープンソースのRazor構文パーサーも存在する[1]

Razor構文[編集]

[email protected]

@[email protected]C#のソースコード扱いとなる。

コメント[編集]

コメントは「@* ~ [email protected] F#のコメント構文「(* ~ *)」に似ているが入れ子にはできない。 顔文字みたい。

@* これは正しいコメントです *@
@* これは@[email protected] *@

コード・ブロック[編集]

「@ {}」と記述するとソースコードを書くためのコードブロックになる。

@ {
    // ここはC#のソースコードです。
    if (hoge == hage) {
        // hogehage
    }
}

コードブロック中にHTMLタグが出現すると自動的に開始タグでコードブロックが解除され、閉じタグでコードブロックに戻る。

@ {
    // ここはソースコードです
    <p>ここはHTMLです</p>
    // ここはソースコードです
}

HTMLタグは出力したくない場合のために独自のtextタグが用意されている。

@ {
    <text>ここはテキストです</text>
}

textタグを打ち込むのが面倒な人のために「@:」という1行用の省略構文も用意されている。

@ {
    @:ここはテキストです
}

基本構文[編集]

RenderBody構文[編集]

RenderPage構文[編集]

RenderSection構文[編集]

変数[編集]

[email protected][email protected][email protected][email protected][email protected][email protected]っている。

<p>こんにちは @Name</p>

変数をHTMLエスケープしたくない場合はHtml.Rawメソッドを用いる。

<p>こんにちは @Html.Raw(Name)</p>

関連項目[編集]

参考文献[編集]

  1. http://razorengine.codeplex.com/

外部リンク[編集]