ASP.NET MVC 5自定义错误页面不起作用

时间:2015-06-03 21:53:19

标签: c# asp.net-mvc iis custom-error-pages

我已将webconfig设置为自定义错误页面。但它不起作用。我创建了一个名为“hata”的控制器和动作。我可以看到此页面“http://localhost/hata/bulunamadi”但是当我尝试打开不存在的页面时,我的自定义错误页面没有显示。 (我看到默认404页面)

<system.web>    
<customErrors defaultRedirect="~/hata/bulunamadi" redirectMode="ResponseRewrite" mode="On">
  <error statusCode="404" redirect="~/hata/bulunamadi"/>
</customErrors>
</system.web>

3 个答案:

答案 0 :(得分:2)

<customErrors mode="On" defaultRedirect="~/Error">
  <error redirect="~/Error/NotFound" statusCode="404" />
</customErrors>

控制器包含以下内容:

public class ErrorController : Controller
{
    public ViewResult Index()
    {
        return View("Error");
    }
    public ViewResult NotFound()
    {
        Response.StatusCode = 404;  //you may want to set this to 200
        return View("NotFound");
    }
}

答案 1 :(得分:0)

试试这个

的Web.Config

 <system.web>
 <customErrors mode="On" defaultRedirect="Error">
  <error statusCode="404" redirect="NotFound" />
 </customErrors>   
</system.web>

在共享文件夹中创建 Error.cshtml NotFound.cshtml 创建一个ErrorController

    public ActionResult Error()
    {
     return View();
    }

答案 2 :(得分:0)

请按照以下说明进行操作: 首先,您必须为自定义页面错误设置Web配置。就是这样

datasource

然后,您必须配置dev environment

application.yml

最后,您必须创建自定义错误dataSource: pooled: true jmxExport: true driverClassName: org.h2.Driver username: sa password: '' environments: development: dataSource: dbCreate: create-drop url: jdbc:h2:mem:devDb;MVCC=TRUE;LOCK_TIMEOUT=10000;DB_CLOSE_ON_EXIT=FALSE <system.web> <customErrors mode="On" defaultRedirect="~/Error/" redirectMode="ResponseRedirect"> <error statusCode="404" redirect="~/Error/Error404/" /> <error statusCode="500" redirect="~/Error/Error500/" /> <error statusCode="400" redirect="~/Error/Error400/" /> </customErrors> </system.web>

RouteConfig.cs