ASP.NET MVC’de HtmlHelper sınıfını kullanarak html etiketklerinden biri olan img etiketini metod içerisinde oluşturacağız.
ASP.NET MVC ile Kendi Html Helper’imizi Oluşturma
Projeye HtmlHelperImage adında bir sınıf ekleyiniz ve içeriğinide aşağıdaki gibi doldurunuz.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 | using System.Web; using System.Web.Mvc; namespace MVC.CustomHtmlHelper { public static class HtmlHelperImage { public static IHtmlString Image(this HtmlHelper helper, string src, string alt) { var tb = new TagBuilder("img"); tb.Attributes["src"] = src; tb.Attributes["alt"] = alt; return new MvcHtmlString(tb.ToString()); } } } |
View dosyamızda HtmlHelperImage adlı sınıfı görmesi için isterseniz view sayfasının başlarına @using MVC.CustomHtmlHelper
kodunu yazabilirsiniz veya tüm view sayfalarınıza tek tek using tanımlaması yapmak yerine web.config dosyasında pages etiketi altında namespace etiketi arasına < add namespace="MVC.CustomHtmlHelper"/ > kod satırını ekleyin ve böylelikle view sayfalarınıza tek tek using tanımlamasından kurtulmuş olursunuz. şimdi ise Image adlı htmlhelper’imizin örnek kullanımını ve sonucu görelim.
Image HtmlHelper Kullanımı
1 | @Html.Image("http://muratoner.net/images/logo.png","Murat ÖNER") |
Sonuç Html
1 | <img rel="lightbox" alt="Murat ÖNER" src="http://muratoner.net/images/logo.png"> |
Gördüğünüz gibi her sayfaya img etiketi aç src-alt attribute’ü tanımlamak yerine Image adında bir HtmlHelper’i tanımladık src değeri ve alt değerlerini geçtik geri kalanı metod bizim yerimize yapıyoruz bizde kod fazlalığından kurtuluyor ve daha dinamik yapılara kavuşmuş oluyoruz.