我使用 ASP.NET Core Razor Pages 构建了一个小型 Web 应用程序,但我想使用 IOptions<T>
从 app.json
传递设置在 _Layout
.
谢谢!
最佳答案
您可以使用 @inject
将服务注入(inject) Razor View 的 Razor 指令。当然,这也包括选项。所以如果你有一些MyOptions
您配置的类(例如在 Startup 类中使用 services.Configure<MyOptions>(options => { … })
),然后您可以将选项注入(inject) .cshtml
:
@inject IOptions<MyOptions> myOptions
<h1>@myOptions.Value.ApplicationTitle</h1>
<p>@myOptions.Value.ApplicationIntroText</p>
为了避免必须访问 myOptions.Value
始终明确地,您还可以使用代码块并将结果首先存储在局部变量中:
@inject IOptions<MyOptions> myOptions
@{
var opts = myOptions.Value;
}
<h1>@opts.ApplicationTitle</h1>
<p>@opts.ApplicationIntroText</p>
关于c# - 在 _Layout 中注入(inject) IOptions<T> 的最佳方法是什么,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52081007/