2011-10-18 12 views
6

Stworzyłem globalny plik .cshtml Razor w folderze App_Code mojego projektu MVC, aby zadeklarować funkcje @helper. Problem polega na tym, że nie mogę używać Html.ActionLink (lub innych rozszerzeń) w funkcjach pomocniczych. Próbowałem zaimportować klasy przez @using, ale to nie zadziałało. Jakieś pomysły?Html.ActionLink nie może być używany w globalnym pomocniku Razor

+1

zobacz to pytanie - http://stackoverflow.com/questions/4710853/using-mvc-htmlhelper-extensions- from-razor-declarative-views –

Odpowiedz

7

Można dodać następującą linię do swojego pomocnika, aby określić Html

var Html = ((System.Web.Mvc.WebViewPage)WebPageContext.Current.Page).Html; 

(Copied from this answer)

+0

Tha NKS, szkoda, nie ma lepszego rozwiązania :) – Marthijn

2

dalej do przyjętej odpowiedź, aby @Html dostępny w całym pliku pomocnika:

@using System.Web.Mvc.Html 

... 

@functions { 

    protected static new System.Web.Mvc.HtmlHelper Html 
    { 
     get 
     { 
      return ((System.Web.Mvc.WebViewPage)WebPageContext.Current.Page).Html;  
     } 
    } 
} 
Powiązane problemy