Typ*_*son 4 asp.net-mvc inheritance razor
是否可以在Razor布局视图中声明函数或帮助器并让子Razor视图使用该函数?我的结构是:
_layout.cshtml - > index.cshtml
index.cshtml使用_layout.cshtml作为其布局.这是默认结构.
我希望能够在_layout.cshtml中放置常用函数/帮助器,并在index.cshtml和所有其他使用_layout.cshtml的视图中引用它们.除非我错过了什么,否则它不会开箱即用.
我知道.我应该使用已编译的AppHelpers或HtmlHelpers,但我可以预见能够直接在_layout.cshtml文件中调整选择函数/帮助程序.
谢谢
不,那是不可能的.@functions仅在当前视图中可见.
您可以使用@helper哪个可以放在App_Code文件夹中,并从所有视图中重复使用.
例如,您定义~/App_Code/MyHelpers.cshtml:
@helper Foo()
{
...
}
Run Code Online (Sandbox Code Playgroud)
然后在某些观点中:
@MyHelpers.Foo()
Run Code Online (Sandbox Code Playgroud)
但我会推荐编译好的助手.他们是单元测试友好和查看引擎不可知的,当明天微软透露他们全新的Blade视图引擎你将有0工作要做,以便使用它们,而如果您编写针对Razor特定的事情@functions,@helper你将不得不移植它们.可能不是你的问题,但值得一提.
| 归档时间: |
|
| 查看次数: |
1367 次 |
| 最近记录: |