27 votes

Appel de Html.ActionLink dans une aide HTML personnalisée

Je suis en train de concevoir une aide HTML personnalisée et je voudrais exécuter Html.ActionLink pour fournir une génération dynamique d'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;
            }

  }
}

Malheureusement, Html.ActionLink n'est pas reconnu dans ce contexte, quel que soit l'espace de nom que j'ai essayé de déclarer.

En tant que question générale, je voudrais savoir s'il est possible d'utiliser une méthode d'aide Html standard/personnelle existante lors de la conception d'une nouvelle aide personnalisée.

Merci.

52voto

çağdaş Points 10552

N'avez-vous pas le helper déjà ?

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

N'oubliez pas d'inclure using System.Web.Mvc.Html espace de noms.

Et oui, vous pouvez utiliser les méthodes d'extension existantes, à condition d'inclure les espaces de noms nécessaires.

4voto

LA Guy 88 Points 56

FYI, pour MVC 3, j'ai trouvé l'ActionLink ici :

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

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X