访问函数在_ViewStart.cshtml中定义

时间:2012-06-22 08:59:29

标签: asp.net-mvc layout view razor

在ASP.MVC应用程序中,我在 _ViewStart.cshtml 中定义了一个函数,如下所示:

@functions
{
    public void Foo()
    {
      ....
    }
}

当我尝试在我的视图中使用此功能时,我得到一个例外说: 当前上下文中不存在名称“Foo” 我认为我在_ViewStart.cshtml中定义的所有内容都可供我将其定义为布局的所有视图访问。

我在这里遗漏了一些东西...... 谢谢你的帮助

1 个答案:

答案 0 :(得分:3)

您可以将可重复使用的函数放在特殊App_Code文件夹的Razor视图中。

例如,在~/App_Code/Foo.cshtml内,您可以声明Bar函数:

@functions {
    public static void Bar() {

    }
}

可从任何Razor视图访问:

@{Foo.Bar();}

另请注意,该功能必须声明为静态