Calling Html.ActionLink in a custom HTML helper

Sylvain picture Sylvain · Mar 4, 2010 · Viewed 15.3k times · Source

I am designing a custom HTML helper and I would like to execute Html.ActionLink to provide dynamic URL generation.

    namespace MagieMVC.Helpers
    {
        public static class HtmlHelperExtension
        {
            public static string LinkTable(this HtmlHelper helper, List<Method> items)
            {
                string result = String.Empty;

                foreach (Method m in items)
                {
                    result += String.Format(
                        "<label class=\"label2\">{0}</label>" +
                        System.Web.Mvc.Html.ActionLink(...) +
                        "<br />",
                        m.Category.Name,m.ID, m.Name);
                }

                return result;
            }


  }
}

Unfortunately Html.ActionLink is not recognized in this context whatever the namespace I have tried to declare.

As a generic question, I would like to know if it is possible to use any existing standard/custom Html helper method when designing a new custom helper.

Thanks.

Answer

&#199;ağdaş Tekin picture Çağdaş Tekin · Mar 4, 2010

Don't you have the helper already?

helper.ActionLink("text", "actionName");

Don't forget to include using System.Web.Mvc.Html namespace.

And yes, you could use the existing extension methods as long as you included the necessary namespaces.