ソースコードから理解する技術-UnderSourceCode

手を動かす(プログラムを組む)ことで技術を理解するブログ

ASP.NET MVC 3 Razor(1)

だいぶ前になりましたが、ASP.NET MVC のビューエンジンとしてRazorが発表されました。
もっと Web 開発を簡単に 〜 ASP.NET の 新しい View Engine “Razor” 〜

上記のブログをみると、Viewのソースをより書きやすくするため
「HTML 記述を生かした」構文にすることがRazorの開発目標の一つであることが分かります。

自分は、従来のASP.NETで.aspxファイル内に自動生成されるHTMLが不自然だと考えているので
「HTML 記述を生かした」構文
「素早く流れるように思うがままにコーディングできることを目指す 」
などは大歓迎です。

Razorについては上記のブログと、“Razor”の紹介 − ASP.NET向け新ビュー・エンジン
を主に参考にしました。

以下、Razorについて調べたときの備忘録です。

◆ @がサーバーサイドのコードを示すキーワードである。
@より右側に書かれた文が、サーバーサイドのコードなのか、静的なコンテンツなのかを判断するようです。
後ほど載せるRazorのソースを見ると分かると思います。

◆RazorだけでWebページを記述可能
新規プロジェクトを作成時にビューエンジンとしてRazorを選択すると
ASP.NET MVC のテンプレートプロジェクトのViewが、Razorだけで構築されます。
Viewの拡張子も全て.cshtmlです。(C#の場合)

◆_ViewStart.cshtmlと_Layout.cshtml
_ViewStart.cshtmlは、全てのViewのレンダリング時に実行したいViewのソースを記述するところ。
_Layout.cshtmlは、全てのViewの共通のレイアウトを記述するところ。
以下はASP.NET MVC のRazorでのテンプレート内のソースです。
_ViewStart.cshtmlが_Layout.cshtmlを呼び出し、_Layout.cshtmlに共通のレイアウトが記述されいることが
分かるかと思います。

_ViewStart.cshtml
f:id:UnderSourceCode:20130504104009j:plain

_Layout.cshtml
f:id:UnderSourceCode:20130504104019j:plain