在自定义HTML帮助器中调用Html.ActionLink

时间:2010-03-04 13:08:09

标签: asp.net-mvc html-helper

我正在设计一个自定义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 个答案:

答案 0 :(得分:55)

您是否已经拥有helper

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

不要忘记包含using System.Web.Mvc.Html命名空间。

是的,只要包含必要的命名空间,就可以使用现有的扩展方法。

答案 1 :(得分:4)

仅供参考,对于MVC 3,我在这里找到了ActionLink:

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