2010-03-04 10 views
29

में Html.ActionLink कॉलिंग मैं एक कस्टम HTML सहायक डिजाइनिंग रहा हूँ और मैं Html.ActionLink निष्पादित करने के लिए गतिशील यूआरएल पीढ़ी प्रदान करना चाहते हैं।एक कस्टम HTML सहायक

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

+0

@Sylvain, आपका स्वागत है :) –

4

FYI करें, MVC 3 के लिए, मैं ActionLink मिली:

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

ऊपर पैरामीटर में एचटीएमएलएचपर के संदर्भ में –

+0

सार्वजनिक स्थैतिक एमवीसीएचटीएमएलस्ट्रिंग एक्शनलिंक कस्टम (यह सिस्टम.Web.Mvc.HtmlHelper एचटीएमएल, स्ट्रिंग मेन्यूटक्स्ट, स्ट्रिंग एक्शन, स्ट्रिंग कंट्रोलर) शामिल होना चाहिए .... ... स्ट्रिंग लिंक = System.Web.Mvc.Html.LinkExtensions.ActionLink (html, menutext, action, नियंत्रक) .ToHtmlString(); –

संबंधित मुद्दे