Вызов Html.ActionLink в пользовательском помощнике HTML - PullRequest
30 голосов
/ 04 марта 2010

Я создаю собственный помощник HTML и хочу выполнить Html.ActionLink, чтобы обеспечить динамическую генерацию URL.

    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;
            }


  }
}

К сожалению, Html.ActionLink не распознается в этом контексте независимо от пространства имен, которое я пытался объявить.

В качестве общего вопроса я хотел бы знать, возможно ли использовать какой-либо существующий стандартный / настраиваемый метод Html-помощника при разработке нового настраиваемого помощника.

Спасибо.

Ответы [ 2 ]

55 голосов
/ 04 марта 2010

У вас уже нет helper?

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

Не забудьте включить using System.Web.Mvc.Html пространство имен.

И да, вы можете использовать существующие методы расширения, если вы включили необходимые пространства имен.

4 голосов
/ 07 мая 2012

К вашему сведению, для MVC 3 я нашел ссылку ActionLink здесь:

System.Web.Mvc.Html.LinkExtensions.ActionLink(text, action, controller).ToHtmlString();
...