Html.ActionLink不能在全局Razor助手中使用

时间:2011-10-18 13:50:04

标签: c# asp.net-mvc-3 razor

我在我的MVC项目的App_Code文件夹中创建了一个全局.cshtml Razor文件来声明@helper函数。问题是我无法在辅助函数中使用Html.ActionLink(或其他扩展)。我试图通过@using导入类,但是没有用。有什么想法吗?

2 个答案:

答案 0 :(得分:7)

您可以将以下行添加到助手,以定义Html

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

(Copied from this answer)

答案 1 :(得分: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;    
        }
   }
}