如何在没有控制器的Razor页面中找到wwwroot的物理路径?

问题描述 投票:2回答:1

我需要在列表中创建一个文件列表,过去很容易..但不是在Asp.Net Core 2 Razor页面上。我无法找到一种方法来获取“wwwroot”里面的“诗歌”的物理路径。我发现很多使用IHostingEnvironment但总是在控制器中的例子。但是我没有控制器,不需要一个,只需要后面的页面和代码..

哦,我多么想念WebForms!

没有控制器的Razor Page的解决方案是什么?

提前致谢。

c# asp.net-core-2.0 server.mappath razor-pages wwwroot
1个回答
0
投票

您可以在Razor Page中以与在控制器中执行相同的方式制作它。

using System;
using System.Collections.Generic;
using System.Linq;
using System.Threading.Tasks;
using Microsoft.AspNetCore.Mvc;
using Microsoft.AspNetCore.Mvc.RazorPages;

namespace Viber.Pages
{
    public class TestModel : PageModel
    {
        private Microsoft.AspNetCore.Hosting.IHostingEnvironment _env;
        public TestModel(Microsoft.AspNetCore.Hosting.IHostingEnvironment env)
        {
            _env = env;
        }

        public void OnGet()
        {
            // use the _env here
        }
    }
}

您可以使用PageModel的承包商来注入IHostingEnvironment。

© www.soinside.com 2019 - 2024. All rights reserved.