我在 webconfig 中打开了自定义错误并重定向到“/Error/Trouble”。这是按设计工作的。Elmah 正在记录错误。错误视图也正在显示。
问题是我想检查错误控制器的故障操作中抛出的错误。抛出错误时,在 MVC 将您重定向到自定义错误处理程序后,您如何访问它?
如果 CurrentUser 为空,我将抛出异常:
if (CurrentUser == null)
{
var message = String.Format("{0} is not known. Please contact your administrator.", context.HttpContext.User.Identity.Name);
throw new Exception(message, new Exception("Inner Exception"));
}
我希望能够在我的自定义错误处理程序(“错误/故障”)中访问它。你如何访问异常?
这是我的麻烦行动:
public ActionResult Trouble()
{
return View("Error");
}
这是我的看法:
@model System.Web.Mvc.HandleErrorInfo
<h2>
Sorry, an error occurred while processing your request.
</h2>
@if (Model != null)
{
<p>@Model.Exception.Message</p>
<p>@Model.Exception.GetType().Name<br />
thrown in @Model.ControllerName @Model.ActionName</p>
<p>Error Details:</p>
<p>@Model.Exception.Message</p>
}
System.Web.Mvc.HandleErrorInfo 是我的故障视图的模型,它是空的。谢谢你的帮助。