2011-10-18 2 views
6

@helper関数を宣言するには、MVCプロジェクトのApp_Codeフォルダにグローバル.cshtml Razorファイルを作成しました。問題は、ヘルパー関数でHtml.ActionLink(またはその他の拡張機能)を使用できないことです。 @を使ってクラスをインポートしようとしましたが、うまくいきませんでした。何か案は?グローバルRazorヘルパーでHtml.ActionLinkを使用することはできません

+1

この質問を見る - http://stackoverflow.com/questions/4710853/using-mvc-htmlhelper-extensions-from-razor-declarative-views –

答えて

7

あなたはヘルパーファイル全体@htmlを利用できるようにし、受け入れ答えにさらにHtml

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

(Copied from this answer)

+0

Tha nks、あまりにも良い解決策はありません:) – Marthijn

2

を定義するために、あなたのヘルパーに以下の行を追加することができます。

@using System.Web.Mvc.Html 

... 

@functions { 

    protected static new System.Web.Mvc.HtmlHelper Html 
    { 
     get 
     { 
      return ((System.Web.Mvc.WebViewPage)WebPageContext.Current.Page).Html;  
     } 
    } 
} 
関連する問題