在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")]