首页 > 解决方案 > ASP.NET Core 3 MVC:如果找不到所需的视图,则提供默认视图

问题描述

在 ASP.NET Core 3 MVC 中,如果要加载局部视图,请执行以下操作:

<partial name= "~/Views/Addresses/existingView.cshtml" model="Model" />

有没有办法告诉 ASP.NET Core MVC,如果该视图不存在,则改为加载备用视图。例如:

<partial name= "~/Views/Addresses/alternateView.cshtml" model="Model" />

标签: asp.net-coreasp.net-core-mvc

解决方案


您可以在剃须刀页面中使用 C# 编程语言。

@{

    if (System.IO.File.Exists("Views/Addresses/existingView.cshtml"))
        @await Html.PartialAsync("~/Views/Addresses/existingView.cshtml", Model)
    else
        @await Html.PartialAsync("~/Views/Addresses/alternateView.cshtml", Model)

}

测试截图:

在此处输入图像描述

删除existingview.cshtml 时,会显示alternateView。

在此处输入图像描述


推荐阅读