「Razor」の版間の差分

提供:MonoBook
imported>Administrator
編集の要約なし
imported>Administrator
7行目: 7行目:
== Razor構文 ==
== Razor構文 ==
Razor構文は基本的に「@」記号で始まる。
Razor構文は基本的に「@」記号で始まる。
@に続く1語句は、コメントや予約語を除き、基本的に[[C Sharp|C#]]のソースコード扱いとなる。
=== コメント ===
=== コメント ===
コメントは「@* ~ *@」と書く。
コメントは「@* ~ *@」と書く。
14行目: 17行目:
@* これは正しいコメントです *@
@* これは正しいコメントです *@
@* これは@*間違った*@コメントです *@
@* これは@*間違った*@コメントです *@
</source>
=== コード・ブロック ===
<source lang="html5">
@ {
    // ここはC#のソースコードです。
    if (hoge == hage) {
        // hogehage
    }
}
</source>
コードブロック中にHTMLタグが出現すると自動的にブロック解除される。
@ {
    <p>ここはHTMLです</p>
}
</source>
HTMLタグは出力したくない場合のために独自のtextタグが用意されている。
@ {
    <text>ここはテキストです</text>
}
</source>
textタグを打ち込むのが面倒な人のために「@:」という構文も用意されている。
@ {
    @:ここはテキストです
}
</source>
</source>



2012年3月27日 (火) 10:28時点における版

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

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

Razor構文

Razor構文は基本的に「@」記号で始まる。

@に続く1語句は、コメントや予約語を除き、基本的にC#のソースコード扱いとなる。

コメント

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

@* これは正しいコメントです *@
@* これは@*間違った*@コメントです *@

コード・ブロック

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

コードブロック中にHTMLタグが出現すると自動的にブロック解除される。 @ {

ここはHTMLです

} </source>

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

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

} </source>

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

   @:ここはテキストです

} </source>

基本構文

RenderBody構文

RenderPage構文

RenderSection構文

変数

テンプレート変数は「@変数名」という形式で先頭に@記号をつけることでHTMLに埋め込むことができる。変数は標準でHTMLエスケープされた状態となっているので、従来のようにいちいちHtml.Encodeメソッドでエスケープしなくてもよくなっており、セキュリティ的にも間違いが起こりにくい作りとなっている。

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

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

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

関連項目

参考文献

外部リンク