Asp.net mvc 在_ViewStart.cshtml中定义的访问函数
在ASP.MVC应用程序中,我在我的\u ViewStart.cshtml中定义了如下函数:Asp.net mvc 在_ViewStart.cshtml中定义的访问函数,asp.net-mvc,layout,view,razor,Asp.net Mvc,Layout,View,Razor,在ASP.MVC应用程序中,我在我的\u ViewStart.cshtml中定义了如下函数: @functions { public void Foo() { .... } } 当我尝试在我的视图中使用此函数时,我得到一个异常,即: 当前上下文中不存在名称“Foo” 我认为我在_ViewStart.cshtml中定义的所有内容都可以被定义为布局的所有视图访问 我错过了一些东西。。。 感谢您的帮助您可以将可重用函数放置在特殊App\u code文件夹的Razo
@functions
{
public void Foo()
{
....
}
}
当我尝试在我的视图中使用此函数时,我得到一个异常,即:
当前上下文中不存在名称“Foo”
我认为我在_ViewStart.cshtml中定义的所有内容都可以被定义为布局的所有视图访问
我错过了一些东西。。。
感谢您的帮助您可以将可重用函数放置在特殊
App\u code
文件夹的Razor视图中
例如,在~/App\u code/Foo.cshtml
中,您可以声明一个条
函数:
@functions {
public static void Bar() {
}
}
可从任何Razor视图访问:
@{Foo.Bar();}
还要注意,函数必须声明为静态我无法访问任何MVC Html。如果我收到一条正常的错误消息,您必须将其作为参数传递:
publicstaticvoidbar(htmlhelperhtml){…}
。然后调用@{Foo.Bar(Html);}
。我不明白这一切背后的原因以及为什么我不能使用_ViewStart.schtml。然而,您的解决方案正在发挥作用。谢谢