如何知道ASP.NET Core中是否存在视图?
我正在搜索这样的伪代码:
@if (Exists("/Views/Shared/SomeView.cshtml"))
{
Html.Partial("/Views/Shared/SomeView.cshtml"))
}
最佳答案
您可以为此使用FindView。在视图内部,可以使用依赖项注入来获取ICompositeViewEngine
的实例,该实例在添加MVC服务时已为您注册。使用此实例,可以使用以下类似方法确定视图是否存在:
@inject ICompositeViewEngine Engine
@if (Engine.FindView(ViewContext, "SomeView", isMainPage: false).Success)
{
@Html.Partial("SomeView");
}
如果您特别想检查视图是否在特定文件夹中(例如,在您的示例中为共享文件夹),则可以使用
GetView
:@if (Engine.GetView(null, "Views/Shared/SomeView.cshtml", isMainPage: false).Success)
关于c# - 如何检查ASP.NET Core MVC的共享文件夹中是否存在 View ?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/53869688/