在ASP.NET Core 3 MVC中,如果找不到所需的视图,可以提供一个默认视图。下面是一个解决方法的代码示例:
首先,在Startup.cs文件的ConfigureServices方法中添加以下代码:
services.AddControllersWithViews()
.AddRazorOptions(options =>
{
options.ViewLocationFormats.Clear();
options.ViewLocationFormats.Add("/Views/{1}/{0}" + RazorViewEngine.ViewExtension);
options.ViewLocationFormats.Add("/Views/Shared/{0}" + RazorViewEngine.ViewExtension);
options.ViewLocationFormats.Add("/Views/NotFound.cshtml");
});
这段代码使用AddRazorOptions方法来自定义Razor视图引擎的视图位置。在这个示例中,我们清除了默认的视图位置格式,并添加了自定义的视图位置格式。
接下来,创建一个名为NotFound.cshtml的视图文件,并将其放置在Views文件夹下。这个视图将作为默认的视图,用于处理找不到所需视图的情况。
最后,在HomeController中添加一个Action方法,该方法将触发找不到视图的情况:
public IActionResult NotFound()
{
return View();
}
这个方法将返回默认的NotFound视图。
现在,当找不到所需的视图时,将返回默认的NotFound视图。