2010-03-04 3 views
29

Özel bir HTML yardımcısı tasarlıyorum ve dinamik URL oluşturmak için Html.ActionLink uygulamasını çalıştırmak istiyorum.Özel bir HTML yardımcısında Html.ActionLink çağrılıyor

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


    } 
} 

Maalesef Html.ActionLink ben beyan etmek çalıştık ne ad bu bağlamda tanınmıyor.

Genel bir soru olarak, yeni bir özel yardımcısı tasarlarken mevcut standart/özel Html yardımcı yöntemini kullanmanın mümkün olup olmadığını bilmek isterim.

Teşekkürler.

cevap

54

Zaten helper'unuz yok mu?

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

using System.Web.Mvc.Html ad eklemeyi unutmayın.

Ve evet, gerekli ad alanlarını içerdiği sürece mevcut uzantı yöntemlerini kullanabilirsiniz.

+0

teşekkür ederiz. İşe yarıyor ! Saygılar. – Sylvain

+0

@Sylvain, Rica ederim :) –

4

Bilginize, MVC 3, burada ActionLink bulundu:

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

Yukarıdaki 1. parametre yukarıdaki htmlhelper referansını aşağıdaki gibi görmelidir –

+0

public static MvcHtmlString ActionLinkCustom (bu System.Web.Mvc.HtmlHelper html, string menutext, string action, string controller) .... ... string link = Sistem.Web.Mvc.Html.LinkExtensions.ActionLink (html, menutext, eylem, denetleyici) .ToHtmlString(); –