如何在Blazor服务器端剃刀组件中导入IConfiguration?

时间:2020-10-03 16:46:00

标签: c# blazor blazor-server-side

我有一个剃须刀组件,我想在我的appsettings.json文件中使用配置值,并且在此处遵循以下示例:Inject an IConfiguration

但是对我来说,这在@code块内不起作用。

到目前为止,我的剃刀组件看起来像这样:

@using Microsoft.Extensions.Configuration
@inject IConfiguration Configuration

@code {
    private string strValue = Configuration.GetSection("MySection").Value;
}

在Configuration.GetSection行上出现以下错误:

字段初始化器无法引用非静态字段,方法或 属性“ MyComponent.Configuration”

我显然可以在@code部分之外使用@Configuration,而不会出错。

我错过了什么吗?我找不到与这个确切问题相关的帖子,如果这是重复的邮件,请对不起。

1 个答案:

答案 0 :(得分:3)

尝试一下:

& ".xlsx"

您无法通过同时调用@code { private string strValue; protected override void OnInitialized() { strValue = Configuration.GetSection("MySection").Value; } } 来定义和初始化变量strValue。通常,您必须在OnInitialized(Async)对中定义一个变量,然后使用方法调用返回的值填充该变量。