如何重用不在App_Code中的@helper函数?

时间:2016-03-05 15:27:47

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

我有一些@helper函数,但问题是我不想将它们全部放在App_Code中以使它们在整个项目中可见。

还有其他方法可以让它们在项目中可见吗?

我对使用@helper函数而不是其他函数(部分视图,静态/扩展方法)感兴趣,因为我会:

  • 将它们放在我喜欢的文件夹中而不是App_Code并且可以全局访问
  • 具有模板优势(语法突出显示,无字符串共处等)。
  • 不必指定要重用的路径(如在部分视图中) - 只需短名称,自动填充

1 个答案:

答案 0 :(得分:0)

您可以编写标准类方法并使用它们而不是辅助函数。例如,您可以创建HtmlHelpers类:

 public static class HtmlHelpers
 {
    public static HtmlString Hello(string Name)
    {
       return new HtmlString("Hello <b>" + Name + "</b>!");
    }
 }

然后在你的Razor视图中,你可以这样称呼它:

<div>@HtmlHelpers.Hello("World")</div>

它将生成HTML:

<div>Hello <b>World</b>!</div>