我使用ASP.NET Core Razor Pages构建了一个小型Web应用程序,但我想使用IOptions<T>
从app.json
中的_Layout
传递设置。谢谢!
您可以使用@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>