从Controller的方法重定向到〜/ Shared / Error.cshtml

时间:2016-03-31 07:20:22

标签: c# asp.net-mvc razor

我正在使用Visual Studio 2015,C#和.NET Framework 4.6.1开发ASP.NET MVC 5应用程序。

我有一个使用此方法的控制器:

public ActionResult Error(string message)
{
    ViewBag.Message = message;
    return View();
}

现在它显示了文件夹~/Views/MyController/Error.cshtml的自定义视图。注意:我创建了该视图,右键单击方法名称,然后选择Add view...选项。

但我想对所有错误使用常见的Error.cshtml视图。此视图位于~/Views/Shared/Error.cshtml

我该怎么做?

顺便说一下,我还在Web.Config上启用了CustomErrors。

1 个答案:

答案 0 :(得分:7)

ViewEngine在以下位置搜索视图:

~/Views/ControllerName/ActionName.cshtml
~/Views/ControllerName/ActionName.vbhtml
~/Views/ControllerName/ActionName.aspx
~/Views/ControllerName/ActionName.ascx

~/Views/Shared/ActionName.cshtml
~/Views/Shared/ActionName.vbhtml
~/Views/Shared/ActionName.aspx
~/Views/Shared/ActionName.ascx

默认情况下,视图名称是操作名称,除非您指定视图。因此,如果您只是忽略Error.cshtml中的~/Views/MyController文件,则应在共享文件夹中找到该文件:~/Views/Shared/Error.cshtml