How to change this to <%Html.ActionLink%> in my asp.net mvc application ?

How to change this to <%Html.ActionLink%> in my asp.net mvc application ?



<div class="MenuItemContainer">
      <a href="/Home">
            <div class="MenuItemContent">
                <div>
                    <img src="/Content/TopMenu/Icons/Home.png" alt="Home" />
                </div>
                <div>
                    Home
                </div>
            </div>
        </a>
    </div>

public static class HtmlExtensions
{
    public static IHtmlString MyActionLink(
        this HtmlHelper htmlHelper,
        string linkText,
        string action,
        string controller,
        string imageUrl,
        string alt
    )
    {
        var urlHelper = new UrlHelper(htmlHelper.ViewContext.RequestContext);
        var div = new TagBuilder("div");
        div.AddCssClass("MenuItemContainer");
        var anchor = new TagBuilder("a");
        anchor.Attributes["href"] = urlHelper.Action(action, controller);
        var itemContent = new TagBuilder("div");
        itemContent.AddCssClass("MenuItemContent");
        var img = new TagBuilder("img");
        img.Attributes["src"] = urlHelper.Content(imageUrl);
        img.Attributes["alt"] = alt;
        itemContent.InnerHtml = string.Format(
            "<div>{0}</div><div>{1}</div>",
            img,
            htmlHelper.Encode(linkText)
        );
        anchor.InnerHtml = itemContent.ToString();
        div.InnerHtml = anchor.ToString();
        return new HtmlString(div.ToString());
    }
}

<%= Html.MyActionLink(
     "Hello",
     "Index",
     "Home",
     "~/Content/TopMenu/Icons/Home.png",
     "Home"
) %>

Comments