我是Blazor .net Core的新手。我已经在.razor页面中注入了服务设置
@inject Microsoft.Extensions.Options.IOptions<Configuration> Configuration
接下来,我在下面的@code
指令中初始化_m对象
@code
{
private ViewModel _m = new ViewModel(Configuration.Value);
protected async Task DoSearchAsync()
{
await _m.PerformSearchAsync();
}
}
在[[ConfigureServices中注册的代码:]
services.Configure<Configuration>(options =>
Configuration.GetSection("ConfigurationSettings").Bind(options));
Configuration.cs
public class Configuration
{
private string ServiceEndpointUrl { get; set; }
}
我需要将Configuration传递给采用ViewModel()
的IOptions<T>
构造函数,但是由于某些原因,我无法在@code
指令中访问我注入的变量“ Configuration”。我该如何访问?
@inject Microsoft.Extensions.Options.IOptions<Configuration> cfg
@code {
private ViewModel _m;
protected override void OnInitialized()
{
base.OnInitialized();
_m = new ViewModel(cfg.Value);
}
protected async Task DoSearchAsync()
{
await _m.PerformSearchAsync();
}
}