我使用ASP.NET Core Razor Pages构建了一个小型Web应用程序,但是我想使用IOptions<T>
来传递app.json
中_Layout
的设置。
谢谢!
答案 0 :(得分: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>