自作HTMLヘルパーを作る
HTMLヘルパーとは?
Html.ActionLink => Aタグ生成
Html.BeginForm() => Formタグ生成
Html.TextBox() => INPUTタグ(Text)生成
など、指定した引数を元に、自動的にHTMLを生成してくれるものです。
モデルと連携をするものあり重宝します。
インテリセンスが有効なのもありがたいです。
自分専用のHTMLヘルパーを作ろう
標準のものだけでなく、よく使うHTMLをヘルパー化してしまおう。
ということで、ここでは例としてアプリで使うアイコンを表示するための自分専用ヘルパーを作ってみます。
- アイコンファイルを準備
- アイコンリストを作成
- ヘルパーを作成
- ビューから参照
1.アイコンファイルを準備
/Content/Icons/内に48×48のアイコンファイル(pngファイル)をいろいろ用意します。
2.アイコンリストを作成
public enum Icons
{
left,
right,
up,
down,
home,
add,
remove,
search,
・・・・
}
3.ヘルパーを作成
namespace MvcApplication1.Helpers
{
public static class IconExtensions
{
public static string DrawIcon(this HtmlHelper helper, Icons icon)
{
return string.Format("<img src=\"{0}.png\" width=\"48\" height=\"48\" alt=\"{0}\" />", icon.ToString());
}
}
}
4.ビューから参照
Razor構文で。
@using MvcApplication1.Helpers
<div id="container">
<a href="/">@Html.DrawIcon(Icons.home)</a>
<a href="/search/">@Html.DrawIcon(Icons.search)</a>
</div>
見たいな感じでどうぞ。
完成
あんまり面白みは無いですけれど基本はこんな感じです。いちいちHTML書かなくても、自分がよく使うものをまとめておけるので、使い道はいろいろありますよね。
あとヘルパーで作るHTMLがごちゃごちゃするので、きれいにしたい場合はTagBuilderクラスを使うと幸せになります。
この本持ってます!

プログラミングMicrosoft ASP.NET MVC ASP.NET MVC 3対応版 (マイクロソフト公式解説書)
- 作者: Dino Esposito,日本マイクロソフト井上章監訳,株式会社クイープ
- 出版社/メーカー: 日経BP社
- 発売日: 2012/05/08
- メディア: 単行本
- クリック: 34回
- この商品を含むブログ (6件) を見る
ASP.NET 2.0の頃の本しか持ってないので新しいのほしいです^^

プログラミングMicrosoft ASP.NET 4 (マイクロソフト公式解説書)
- 作者: ディノエスポシト,クイープ
- 出版社/メーカー: 日経BP社
- 発売日: 2012/01/26
- メディア: 単行本
- 購入: 2人 クリック: 8回
- この商品を含むブログ (4件) を見る