ASP.NET MVC 4 自定义 HTML Helpers 文件夹位置

Posted

技术标签:

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

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

例如:

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

【问题讨论】:

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

你的结构很好。

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

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

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

【讨论】:

以上是关于ASP.NET MVC 4 自定义 HTML Helpers 文件夹位置的主要内容,如果未能解决你的问题,请参考以下文章

ASP.NET MVC 之自定义HtmlHelper

Asp.net Mvc 自定义Session

Asp.net Mvc 自定义Session ,

带有权限代码的 ASP.NET MVC 4 自定义授权属性(无角色)

如何使自定义错误页面在 ASP.NET MVC 4 中工作

自定义验证属性中的客户端验证 - asp.net mvc 4