加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 编程开发 > asp.Net > 正文

asp.net-mvc – 来自父Razor布局的@Functions继承

发布时间:2020-12-16 06:30:03 所属栏目:asp.Net 来源:网络整理
导读:是否可以在Razor布局视图中声明函数或帮助器并让子Razor视图使用该函数?我的结构是: _layout.cshtml – index.cshtml index.cshtml使用_layout.cshtml作为其布局.这是默认结构. 我希望能够在_layout.cshtml中放置常用函数/帮助器,并在index.cshtml和所有其
是否可以在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()
{
    ...
}

然后在某些观点中:

@MyHelpers.Foo()

但我会推荐编译好的助手.他们是单元测试友好和查看引擎不可知的,当明天微软透露他们全新的Blade视图引擎你将有0工作要做,以便使用它们,而如果你编码针对Razor特定的东西,如@functions和@helper你将有移植他们.可能不是你的问题,但值得一提.

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读