【发布时间】:2016-01-07 04:31:58
【问题描述】:
我在 asp.net mvc 5 中的应用程序出现问题。我尝试创建自定义错误视图。我通过网站创建它: first site, second site
当应用程序像本地站点一样运行时,一切正常,但是当我将它部署到服务器上时,自定义错误页面不起作用。
在网络配置中,我的代码如下所示:
<customErrors mode="On" redirectMode="ResponseRewrite" defaultRedirect="~/ErrorPages/Error500.cshtml" >
<error statusCode="500" redirect="~/ErrorPages/Error500.cshtml"/>
<error statusCode="404" redirect="~/ErrorPages/Error404.cshtml"/>
</customErrors>
...
<httpErrors errorMode="Custom" existingResponse="Replace">
<remove statusCode="500"/>
<error statusCode="500" path="/ErrorPages/Error/Error500" responseMode="ExecuteURL"/>
<remove statusCode="404"/>
<error statusCode="404" path="/ErrorPages/Error/Error404" responseMode="ExecuteURL"/>
</httpErrors>
错误控制器:
public ActionResult Error500()
{
Response.StatusCode = 500;
return View();
}
public ActionResult Error404()
{
Response.StatusCode = 404;
return View();
}
并查看:
@{
ViewBag.Title = "Error404";
}
有人知道怎么回事吗?
【问题讨论】:
-
不应该是
path="/ErrorPages/Error500" -
区域 - ErrorPages、控制器 - 错误、操作 - Error500
-
在视图中添加@Response.StatusCode=404
标签: c# asp.net asp.net-mvc