2010-03-04 77 views
29

我正在設計自定義HTML幫助程序,我想執行Html.ActionLink以提供動態URL生成。在自定義HTML幫助程序中調用Html.ActionLink

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幫助器方法。

謝謝。

回答

54

您是否已經有helper

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

不要忘記包含using System.Web.Mvc.Html命名空間。

是的,只要包含必要的命名空間,就可以使用現有的擴展方法。

+0

謝謝。有用 ! 此致敬禮。 – Sylvain 2010-03-04 13:22:33

+0

@Sylvain,不客氣:) – 2010-03-04 13:24:13

4

僅供參考,對於MVC 3,我發現這裏的ActionLink:

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

上面的第一個參數必須包含對htmlhelper的引用,見下面 – 2012-05-07 19:15:10

+0

public static MvcHtmlString ActionLinkCustom(this System.Web.Mvc.HtmlHelper html,string menutext,string action,string controller).... ... string link = System.Web.Mvc.Html.LinkExtensions.ActionLink(html,menutext,action,controller).ToHtmlString(); – 2012-05-07 19:18:10

相關問題