ASP.NET MVC 3 Razor では、次のようにページ タイトルを指定できます。
@{
ViewBag.Title = "Title";
}
ここで、次のようなレイアウト ページがあるとします。
<title>@ViewBag.Title | Website</title>
ASP がページをレンダリングするとき、レイアウト ページ HTML の一部を出力し、次にビュー HTML、レイアウト ページ HTML の残りを出力する必要があります。
レイアウト ページ HTML の前半を出力するために、ASP.NET はViewBag.title
ビューで指定された値を知る必要があります。したがって、ASP.NET はビュー内の Razor コードを解析する必要があります。ただし、ASP.NET はまだレイアウト ページの HTML コードを出力しているため、ビューの HTML コードをまだ出力できません。では、ASP.NET はビューの HTML 出力をバッファーに格納するのでしょうか? これは悪い習慣のように思えますが、ビューのタイトルをレイアウト ページの出力に効率的に取り込む方法は他に思いつきません。