2011-10-18 77 views
6

我已经在我的MVC项目的App_Code文件夹中创建了一个全局的.cshtml Razor文件来声明@helper函数。问题是我不能在辅助函数中使用Html.ActionLink(或其他扩展)。我试图通过@using导入这些类,但这没有奏效。有任何想法吗?Html.ActionLink不能用于全局剃刀帮手

+1

看到这个问题 - http://stackoverflow.com/questions/4710853/using-mvc-htmlhelper-extensions-from-razor-declarative-views –

回答

7

你可以将下面的行添加到您的帮手,来定义Html

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

(Copied from this answer)

+0

Tha恩,太糟糕了,没有更好的解决方案:) – Marthijn

2

继接受的答案,使@Html提供整个辅助文件:

@using System.Web.Mvc.Html 

... 

@functions { 

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