Search code examples
c#asp.net-core-2.0server.mappathrazor-pageswwwroot

How can I find the physical path of wwwroot, in a Razor page without a controller?


I need to make a file list in a list, which used to be easy.. but not on Asp.Net Core 2 Razor pages. I cannot find a way to get the physical path of "Poems" which is inside "wwwroot". I found many examples using IHostingEnvironment but always in a controller. But I don't have a controller, don't need one, just the page and code behind..

Oh, how I miss WebForms!

What is the solution for a Razor Page without a controller?

Thanks in advance.


Solution

  • You can use IWebHostEnvironment class. Code block is given below:

    private readonly IWebHostEnvironment _webHostEnvironment;
    
            public HomeController(
                IWebHostEnvironment webHostEnvironment)
            {
                _webHostEnvironment = webHostEnvironment;
            }
    
    public IActionResult Index()
            {
                string rootPath = _webHostEnvironment.WebRootPath
                return View();
            }