在Asp.net MVC 4和razor中HandleError还能工作吗

在Asp.net MVC 4和razor中HandleError还能工作吗,razor,asp.net-mvc-4,handleerror,Razor,Asp.net Mvc 4,Handleerror,我在控制器上设置了[HandleError]属性 这是我的行动方法: public ActionResult ShowError() { throw new NullReferenceException(); return View(); } 此操作方法具有相应的视图 我在配置中设置了自定义错误 <customErrors mode="On"> </customErrors> 我在视图文件夹下的共

我在控制器上设置了
[HandleError]
属性

这是我的行动方法:

    public ActionResult ShowError()
    {

        throw new NullReferenceException();
        return View();
    }
此操作方法具有相应的视图

我在配置中设置了自定义错误

<customErrors mode="On">     
</customErrors>

我在视图文件夹下的共享文件夹中有
Error.cshtml
文件

现在导航到
ShowError
controller方法将在我的IDE中打开此窗口

点击F5时,我会在浏览器窗口中看到这一点,而不是共享文件夹中的错误页面。

还需要做什么来显示错误页面?如何使
手柄错误
正常工作

感谢

启用由HandleErrorAttribute使用的自定义错误处理 过滤器,将customErrors元素添加到 应用程序的Web.config文件,如以下示例所示:



好的。所以问题是我使用的浏览器,即IE9。IE9似乎在显示小于1KB的错误页面时遇到问题。我将
@(新字符串(“”,1000))
放在我的错误页面的末尾,并使其正常工作。

您可以将视图的名称放在defaultRedirect=“error”中,如Frictionlessully所述,也可以在操作、控制器或全局上的HandleError属性中指定

[HandleError(View="Error")]
如果您显式指定该视图,则可以将其命名为“Error”以外的名称,例如“ServerError”

如果需要灵活性,还可以创建一个子文件夹w/in/Shared来对多个错误视图进行分组

/共享/Errors/Server.cshtml

然后使用属性中的路径

[HandleError(View="Errors/Server")]

在控制器和/共享文件夹中搜索错误视图的文件夹。

检查
web.config
并设置
debug=“false”
。您不应手动抛出
NullReferenceException
,它应由框架本身处理。谢谢你的提示。这就解决了第一个问题,但handleError仍然需要解决work@Karthik:在相同的第二个映像中引发任何异常。不是我为itI制作的错误页面,我正在按照文档进行所有操作。我在这里看到了一个youtube视频,演示者在没有使用defaultRedirect的情况下让它工作。唯一的区别是他用的是aspx,我用的是Razor
[HandleError(View="ServerError")]
[HandleError(View="Errors/Server")]