我们有StartUp如下获取值appsettings.json:
public Startup(IHostingEnvironment env)
{
var builder = new ConfigurationBuilder()
.SetBasePath(env.ContentRootPath)
.AddJsonFile("appsettings.json", optional: false, reloadOnChange: true)
.AddJsonFile($"appsettings.{env.EnvironmentName}.json", optional: true)
.AddEnvironmentVariables();
Configuration = builder.Build();
var environment = Configuration["ApplicationSettings:Environment"];
}
public void ConfigureServices(IServiceCollection services)
{
services.Configure<AppSettings>(Configuration.GetSection("ApplicationSettings"));
...
}
Run Code Online (Sandbox Code Playgroud)
我们也模型叫 AppSettings
public class AppSettings
{
public string Environment { get; set; }
public string Version { get; set; }
}
Run Code Online (Sandbox Code Playgroud)
由于我正在/Pages/Shared/_Layout.cshtml尝试将此版本注入到此共享页面中,因此我无法执行代码隐藏方法。那怎么注入呢?
更新 1 -
理论上,如果它是页面模型,我可以这样做:
public class _LayoutModel : PageModel
{
private readonly AppSettings _appSettings; …Run Code Online (Sandbox Code Playgroud)