注入IOptions的最佳方法是什么 在_Layout

问题描述 投票:0回答:1

我使用ASP.NET Core Razor Pages构建了一个小型Web应用程序,但我想使用IOptions<T>app.json中的_Layout传递设置。谢谢!

c# asp.net-core .net-core razor-pages
1个回答
4
投票

您可以使用@inject Razor指令将服务注入Razor视图。当然,这也包括选项。因此,如果您已经配置了一些MyOptions类(例如在Startup类中使用services.Configure<MyOptions>(options => { … })),那么您可以将选项注入.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>
© www.soinside.com 2019 - 2024. All rights reserved.