大家也许在网上看到过介绍在Action上使用[HandleError]的文章,但我遇到一个问题很诡异,我们就用Vs2008新建的默认工程,添加一个controller,代码如下:
public class TestController : Controller
{
[HandleError(View="Error")]
public ActionResult ThisActionHasAProblem()
{
throw new Exception("Oops!");
}
}
错误页面Error在Views的Shared的下面,这个测试没问题,Error页面也能正常显示,如果你在添加一个自定义的错误页面,CustomError,也在Shared下面,在添加CustomError时选上使用母版,然后修改 [HandleError(View="Error")]为 [HandleError(View="CustomError")]这也没问题,也能正常显示,但如果你定义CustomError时没有选择添加母版,就会出错,不会显示CustomError页面,声明一下,如果没选择母版,我的CustomError使用的引用是:
<%@ Page Language="C#" Inherits="System.Web.Mvc.ViewPage<System.Web.Mvc.HandleErrorInfo>" %>
,请大家看看问题出在什么地方?