小编Far*_*han的帖子

如何在_Layout.cshtml共享Razor页面中添加配置设置

我们有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)

.net-core asp.net-core razor-pages

1
推荐指数
2
解决办法
3311
查看次数

标签 统计

.net-core ×1

asp.net-core ×1

razor-pages ×1