MVC'de image link nasıl yapılır?
June 3, 2009 at 7:45 PM
—
oozturk
MVC'de alıştıktan sonra insan vazgeçemiyor sürekli link için action, controller, id gibi özellikler ile link yaratmaya başlıyor. Eh bu durumdan sonra resimlere de link vermek isteyince kendi html helper fonksiyonumuzu yazmak zorunda kalıyoruz. Aşağıdaki örneği aynen kullanabilirsiniz.
public static string ImageLink(this HtmlHelper helper,
string action,
string controller,
object routeValues,
string imageURL,
string alternateText,
object linkHtmlAttributes,
string style,
object imageHtmlAttributes)
{
// Create an instance of UrlHelper
UrlHelper url = new UrlHelper(helper.ViewContext.RequestContext);
//Create image tag builder
TagBuilder imageBuilder = new TagBuilder("img");
if( !string.IsNullOrEmpty( style ) )
imageBuilder.MergeAttribute( "style", style );
// Add image attributes
imageBuilder.MergeAttribute("src", imageURL);
imageBuilder.MergeAttribute("alt", alternateText);
imageBuilder.MergeAttributes(new RouteValueDictionary(imageHtmlAttributes));
//' Create link tag builder
TagBuilder linkBuilder = new TagBuilder("a");
//' Add attributes
linkBuilder.MergeAttribute("href", url.Action(action, controller, new RouteValueDictionary(routeValues)));
linkBuilder.InnerHtml = imageBuilder.ToString(TagRenderMode.SelfClosing);
linkBuilder.MergeAttributes(new RouteValueDictionary(linkHtmlAttributes));
//' Render tag
return linkBuilder.ToString( TagRenderMode.Normal );
}
Bu fonksiyonun kullanımına dair bir örnek vereyim:
<%= Html.ImageLink("Detail", "Firma", new { id = firma.Firmaadi }, "/content/images/a.jpg", firma.Firmadi, null, "margin-left:10px; border:1px solid #CCC", null) %>
Kolay gelsin!
d8913759-bc5d-4e3f-99a9-f34d8b1e5867|4|5.0
Posted in: MVC
Tags: mvc, imagelink