gpt4 book ai didi

asp.net-mvc - @Functions 从父 Razor 布局继承

转载 作者:行者123 更新时间:2023-12-02 03:50:43 26 4
gpt4 key购买 nike

是否可以在 Razor 布局 View 中声明函数或助手,并让子 Razor View 使用该函数?我的结构是:

_layout.cshtml -> 索引.cshtml

其中index.cshtml使用_layout.cshtml作为其布局。这是默认结构。

我希望能够将常用函数/帮助程序放在 _layout.cshtml 中,并在 index.cshtml 和使用 _layout.cshtml 的所有其他 View 中引用它们。除非我错过了一些东西,否则它不能开箱即用。

我知道。我应该为此使用编译的 AppHelpers 或 HtmlHelpers,但我可以预见到能够直接在 _layout.cshtml 文件中调整选择函数/帮助程序会非常方便。

谢谢

最佳答案

不,这是不可能的。 @functions 仅在当前 View 内可见。

您可以使用@helper,它可以放置在App_Code 文件夹中并在所有 View 中重复使用。

例如,您定义~/App_Code/MyHelpers.cshtml:

@helper Foo()
{
...
}

然后在某些 View 中:

@MyHelpers.Foo()

但我会推荐编译的助手。它们是单元测试友好的并且与 View 引擎无关,当明天微软展示他们全新的 Blade View 引擎时,您将需要做 0 工作才能使用它们,而如果您针对 Razor 特定的东西(如 @functions)进行编码> 和 @helper 你必须移植它们。可能不是您关心的问题,但值得一提。

关于asp.net-mvc - @Functions 从父 Razor 布局继承,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7544460/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com