Как проверить, существует ли представление в общей папке в ASP.NET Core MVC? - PullRequest
0 голосов
/ 20 декабря 2018

Как узнать, что представление существует в ASP.NET Core?

Я ищу псевдокод, подобный этому:

@if (Exists("/Views/Shared/SomeView.cshtml"))
{
    Html.Partial("/Views/Shared/SomeView.cshtml"))
}

1 Ответ

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

Для этого вы можете использовать FindView .Внутри представления вы можете использовать внедрение зависимостей, чтобы получить экземпляр ICompositeViewEngine, который зарегистрирован для вас при добавлении сервисов MVC.Используя этот экземпляр, можно определить, существует ли представление, используя что-то вроде следующего:

@inject ICompositeViewEngine Engine

@if (Engine.FindView(ViewContext, "SomeView", isMainPage: false).Success)
{
    @Html.Partial("SomeView");
}

Если вы специально хотите проверить, существует ли представление в специфическом папку (например, Shared в вашем примере), вы можете использовать GetView:

@if (Engine.GetView(null, "Views/Shared/SomeView.cshtml", isMainPage: false).Success)
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...