【问题标题】:Html.ActionLink cannot be used in global Razor helperHtml.ActionLink 不能在全局 Razor 助手中使用
【发布时间】:2011-10-18 13:50:04
【问题描述】:

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

【问题讨论】:

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


【解决方案1】:

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

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

(Copied from this answer)

【讨论】:

  • 谢谢,可惜没有更好的解决方案 :)
【解决方案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;    
        }
   }
}

【讨论】:

    猜你喜欢
    • 2020-05-06
    • 2021-03-08
    • 1970-01-01
    • 1970-01-01
    • 2011-05-30
    • 2019-11-07
    • 1970-01-01
    • 2017-07-31
    • 1970-01-01
    相关资源
    最近更新 更多