我的页面上有一些链接尚未创建控制器。我有我的自定义控制器工厂:
public class MyControllerFactory : DefaultControllerFactory
{
public override IController CreateController(RequestContext requestContext, string controllerName)
{
try
{
IController controller = base.CreateController(requestContext, controllerName);
HttpContext.Current.Items["Controller"] = controller;
return controller;
}
catch { return null; }
}
}
只要能找到控制器,这个工作正常。但是如果我从我的方法中返回null,我会抛出黄色的死亡屏幕。我怎样才能优雅地处理这个?我想重定向到某个页面以及404格式正确的消息,或者可能会显示一些消息,例如“正在进行中”。
答案 0 :(得分:1)
您尝试添加此内容吗?
[HandleError(ExceptionType = typeof(NullReferenceException), Order = 1, View = "NotFound")]
您必须将NotFound视图添加到共享视图文件夹。使用此属性注释您的控制器工厂。