ASP.NET MVC ビューエンジン
ビューエンジン
ASP.NET MVCのView(~.aspx)においてサーバー側でhtmlを動的に生成する処理。
コンパイラ?
・Webフォームビューエンジン(.aspx)
・Razroビューエンジン(.cshtml/.vbhtml)
の2種類から選択・使用できる
Webフォームビューエンジン(.aspx)におけるビュー記述例
<h1><%: product.ProductName %></h1>
<p><%: Html.ActionLink(“Add…”, “Add”) %></p>
Razorビューエンジン(.cshtml/.vbhtml)におけるビュー記述例
<h1>@product.ProductName</h1>
<p>@Html.ActionLink(“Add…”, “Add”)</p>
従来型(Webフォーム)のメリット
多様なサーバーコントロールを配置するだけで素早く、簡単に実装できる。
従来型(Webフォーム)のデメリット
コンパイル後、idやスタイルが自動的に書き換えられるので、
CSS等でデザインしにくい。
MVC(レンダリングエンジン使用)のメリット
ビューエンジンを用いてhtmlを生成できるのでCSS等でのデザインがやりやすい。
MVC(レンダリングエンジン使用)のメリット
Webフォームにおけるサーバーコントロールが使えない。
<div>
※↓@{~}内ではC#のプログラムを書ける
@{
SortedList<int, stringg> myList = new SortedList<int, string>
{
{10,”香川”},
{11,”大久保”},
{9,”岡崎”},
{4,”本田”}
};
}
※@{~}外でも↑で宣言した変数を@で参照できる
@myList[key:10]</br/>
@myList[key:4]</br/>
@foreach (var elm in myList)
{
@elm.Key @elm.Value</br/>
}
</div>
実行結果
本田
本田
岡崎
香川
大久保