【问题标题】:Having razor @helper in App_code folder using ASP.NET MVC 3使用 ASP.NET MVC 3 在 App_code 文件夹中拥有剃须刀 @helper
【发布时间】:2011-06-19 11:36:04
【问题描述】:

我在哪里可以找到有关如何使其工作的教程?

我正在尝试在我的 MVC3 应用程序的 App_code 目录中添加 @helper,到目前为止,当我尝试在其他剃须刀页面中使用它们时,找不到它们。

【问题讨论】:

  • 看起来您的问题已由 SLaks 回答 - 您能否将其标记为这样?

标签: asp.net-mvc-3 razor


【解决方案1】:

查看这个 SO 问题和相关答案: Razor: Declarative HTML helpers

它确实有效,但我发现最后我通常会选择从 HtmlHelper 编写另一个扩展方法。

【讨论】:

    【解决方案2】:

    您需要调用帮助程序作为页面名称的静态方法。

    例如,如果你在App_Code/MyHelpers.cshtml 中有一个名为HelpMe 的助手,你会这样写

    @MyHelpers.HelpMe(...)
    

    【讨论】:

    • 问题可能不是“区域”。我可以在普通的 ASP.NET MVC 项目中使用 @MyHelper.Help() 语法。但我试图让它在一个 Orchard 模块中工作,作为一个单独的项目实现。在那个单独的项目中,它本身不是一个完整的 Web 应用程序,@MyHelper.Help() 语法在 IDE 中工作,但在运行时它说,“编译器错误消息:CS0103:名称'MyHelper'不存在在当前情况下。”它似乎没有拾取 App_Code 目录中的文件进行编译。可能值得自己提出问题。
    • 是的;你应该问一个单独的问题。
    • 嗨!我在 ASP.NET 中创建了一个想法以使其更有用:Support @helper ExtensionMethod(this HtmlHelper html) for views in APP_CODE...我知道这只是一点点糖,但它可以为尝试编写 html 扩展方法的人带来很多...谢谢!
    【解决方案3】:
    猜你喜欢
    • 2012-05-26
    • 1970-01-01
    • 2012-05-16
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-07-23
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多