【发布时间】:2018-07-27 19:51:00
【问题描述】:
刚刚在 asp.net core razor 视图中了解injected services。但是我还没有弄清楚如何在子视图中使用在布局视图中注入的服务(将被许多视图使用)。
也许在概念上是这样的:
布局视图
@inject IOptions<PortalConfiguration> OptionsPortalConfiguration
<some HTLM markup>
@RenderBody(OptionsPortalConfiguration) <--pass it here???
子视图
Not sure how to reference it.
【问题讨论】:
-
您是否尝试过将@inject IOp... 添加到具体视图(您要在正文中渲染的那个)?
-
是的,我可以做到,但似乎并不干燥。如果它已经在父级注入,在子级再次注入似乎是额外的开销。
-
如果你真的需要在包装器级别,我不认为这是违规行为。而且我也不认为它们是亲子关系,因为“身体视图”不知道是谁渲染的。因此,您也不应该依赖它来获得注入服务。此外,进一步考虑您是否真的需要包装器视图来首先保存注入的服务。
标签: c# asp.net-mvc razor dependency-injection