「Razor」の版間の差分
ナビゲーションに移動
検索に移動
imported>Administrator |
imported>Administrator |
||
31行目: | 31行目: | ||
コードブロック中にHTMLタグが出現すると自動的にブロック解除される。 | コードブロック中にHTMLタグが出現すると自動的にブロック解除される。 | ||
+ | <source lang="html5"> | ||
@ { | @ { | ||
<p>ここはHTMLです</p> | <p>ここはHTMLです</p> | ||
37行目: | 38行目: | ||
HTMLタグは出力したくない場合のために独自のtextタグが用意されている。 | HTMLタグは出力したくない場合のために独自のtextタグが用意されている。 | ||
+ | <source lang="html5"> | ||
@ { | @ { | ||
<text>ここはテキストです</text> | <text>ここはテキストです</text> | ||
43行目: | 45行目: | ||
textタグを打ち込むのが面倒な人のために「@:」という構文も用意されている。 | textタグを打ち込むのが面倒な人のために「@:」という構文も用意されている。 | ||
+ | <source lang="html5"> | ||
@ { | @ { | ||
@:ここはテキストです | @:ここはテキストです |
2012年3月27日 (火) 10:31時点における版
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タグが出現すると自動的にブロック解除される。
@ {
<p>ここはHTMLです</p>
}
HTMLタグは出力したくない場合のために独自のtextタグが用意されている。
@ {
<text>ここはテキストです</text>
}
textタグを打ち込むのが面倒な人のために「@:」という構文も用意されている。
@ {
@:ここはテキストです
}
基本構文
RenderBody構文
RenderPage構文
RenderSection構文
変数
テンプレート変数は「@変数名」という形式で先頭に@記号をつけることでHTMLに埋め込むことができる。変数は標準でHTMLエスケープされた状態となっているので、従来のようにいちいちHtml.Encodeメソッドでエスケープしなくてもよくなっており、セキュリティ的にも間違いが起こりにくい作りとなっている。
<p>こんにちは @Name</p>
変数をHTMLエスケープしたくない場合はHtml.Rawメソッドを用いる。
<p>こんにちは @Html.Raw(Name)</p>