我正在编写一个MVC 5互联网应用程序,并且遇到错误问题。MVC 5错误页面不显示
当输入一些无效的View
数据时,出现与显示的错误页面相关的错误。
我输入以下内容:
<html>test</html>
在我Global.asax
文件,我有以下几点:
protected void Application_Error(object sender, EventArgs e)
这是Application_Error
函数的错误:
Message = "The controller for path '/Error/' was not found or does not implement IController."
在我的Shared
视图文件夹中,我有一个错误页面cal导致Error.cshtml
。
下面是Error.cshtml
代码:我为什么会收到错误
@model System.Web.Mvc.HandleErrorInfo
@{
if (TempData["UITitle"] != null)
{
ViewBag.Title = @TempData["UITitle"];
}
else
{
ViewBag.Title = "Error";
}
}
<h2 class="text-danger">
@if (TempData["UIHeading"] != null)
{
@TempData["UIHeading"];
}
else
{
<p>Error</p>
}
</h2>
<p>
@if (TempData["UIMessage"] != null)
{
@TempData["UIMessage"];
}
else
{
if (Model != null)
{
@Model.Exception.Message
}
else
{
<p>Error</p>
}
}
</p>
:
Message = "The controller for path '/Error/' was not found or does not implement IController."
在此先感谢。
编辑
我已经添加在controller
以下ActionResult
:
public async Task<ActionResult> TestError()
{
return View("Error");
}
的错误页面显示正确。
此外,我有ELMAH
与异常的电子邮件记录安装。
EDIT2
我认为这个问题是在我的web.config。
我在web.config如下:
<customErrors mode="On" defaultRedirect="~/Error/">
</customErrors>
每当发生错误时,我想的Error.cshtml
将要显示的是在Shared
文件夹中。我猜测Error.cshtml
找不到,因为它在Shared
文件夹中。
我该如何做到这一点?
创建在控制器的行动,并呼吁从操作方法返回了这一观点。你能不能请你发表你是怎么称呼这个错误页面的? – 2015-03-03 04:50:36
我已经做了,你已经问过了,正在显示错误页面。 – user3736648 2015-03-03 04:55:36
所以它的工作权利? – 2015-03-03 04:56:34