HttpRuntime.AppDomainAppVirtualPath эквивалентно в .net core 2.1 - PullRequest
0 голосов
/ 30 ноября 2018

У меня следующий код в _Layout.cshtml

 @Styles.Render("~/Content/css")

    @functions{
        public static string GetRootPath()
        {
            return string.Format("{0}", HttpRuntime.AppDomainAppVirtualPath == "/" ? "" : HttpRuntime.AppDomainAppVirtualPath);
        }
    }

<script type="text/javascript">
    var rootPath = '@Html.Raw(GetRootPath())';

</script>

Мне нужно реализовать ту же функцию в ядре .net 2.1.Я знаю, что это связано с IHostingEnvironment, но во всех известных мне примерах они внедряют его либо в контроллеры, либо в функции стартовой страницы.Как реализовать указанную выше функцию в _Layout.cshtml в .net core 2.1?

1 Ответ

0 голосов
/ 03 декабря 2018

Для доступа к IHostingEnvironment в View, вы можете попробовать, как показано ниже:

@using Microsoft.AspNetCore.Http;
@using Microsoft.AspNetCore.Hosting;
@inject IHttpContextAccessor HttpContextAccessor;
@inject IHostingEnvironment HostingEnvironment;
@{
    ViewData["Title"] = "About";
}  
@HttpContextAccessor.HttpContext.Request.PathBase.Value;
@HostingEnvironment.WebRootPath;
@HostingEnvironment.ContentRootPath;
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...