【问题标题】:ASP.NET MVC 4 custom HTML Helpers folder locationASP.NET MVC 4 自定义 HTML Helpers 文件夹位置
【发布时间】:2013-01-29 11:51:32
【问题描述】:

我开始使用带有 Razor 语法的 ASP.NET MVC 4 框架开发应用程序。我想知道我应该在哪里(文件夹位置)创建我的 HTML Helper 类。最佳实践。

例如:

  • VisualStudio 解决方案
    • 控件
    • HTML
      • HtmlHelperClass.vb
    • 型号
    • 观看次数

【问题讨论】:

    标签: asp.net asp.net-mvc-4 html-helper


    【解决方案1】:

    使用this。要使用 Razor 中的“@helper”功能,您需要将 CSHTML 文件放在应用程序的 App_Code 文件夹中。 ASP.NET MVC 3 中没有“Views/Helpers”文件夹。ScottGu 的博客文章是在该功能完全实现之前写的,其中一些注释不再完全准确。

    要调用您编写的“@helper”,您必须在其中包含文件名和助手的名称。例如,如果你有这个助手:

    ~/App_Code/MyHelper.cshtml
    

    还有这个内容:

    @helper ShowStuff(string stuff) {
        <p>@stuff</p>
    }
    

    那你这样称呼它:

    @MyHelper.ShowStuff("some stuff!")
    

    【讨论】:

    • 我在部署到不允许 App_Code 文件夹的托管服务提供商时遇到了问题,因此我目前根本无法使用这些帮助程序。 stackoverflow.com/a/16057766/678338
    • @SeanMill 您可以在视图顶部添加它“@using UtilsProject.Helpers”并使用您的助手“@Html.MyCustomHelper()”。在我的应用程序中,我将新项目添加到名为 UtilsProject 的解决方案中,其中我有我的自定义助手。
    • 不确定在任何视图中使用是否真的是个好主意,这不就是我们一直在 Html 上使用扩展的原因吗?
    【解决方案2】:

    你的结构很好。

    我会用实用程序文件夹更改 Html 文件夹。 您可以在那里添加所有类型的助手。

    • 控制器
    • 型号
    • 观看次数
    • 实用程序
    • 框架(这可能对您的应用程序的引导很有用)

    实际上没有修复“最佳实践”。只要确保你可以在明显的地方找到你的课程。如果不改造。

    【讨论】:

      猜你喜欢
      • 2012-06-13
      • 2016-10-06
      • 1970-01-01
      • 1970-01-01
      • 2015-06-22
      • 1970-01-01
      • 2016-02-28
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多