要解决ASP Boilerplate总是显示默认错误消息的问题,可以尝试以下解决方法:
protected void Application_Error(object sender, EventArgs e)
{
Exception ex = Server.GetLastError();
Server.ClearError();
// 自定义错误处理逻辑
// 可以根据不同的异常类型及具体情况来显示更具体的错误信息
// 例如,可以根据不同的HTTP状态码来显示不同的错误页面
// 或者将错误记录到日志中等等
// 例如,可以重定向到自定义错误页面并传递错误信息
Response.Redirect("~/ErrorPage.aspx?errorMessage=" + ex.Message);
}
using System.Net;
using System.Web.Mvc;
public class CustomExceptionFilterAttribute : ExceptionFilterAttribute
{
public override void OnException(ExceptionContext filterContext)
{
filterContext.ExceptionHandled = true;
// 自定义错误处理逻辑
// 可以根据不同的异常类型及具体情况来显示更具体的错误信息
// 例如,可以根据不同的HTTP状态码来显示不同的错误页面
// 或者将错误记录到日志中等等
// 例如,可以返回一个自定义的错误视图
var result = new ViewResult
{
ViewName = "Error",
ViewData = new ViewDataDictionary {["ErrorMessage"] = filterContext.Exception.Message}
};
filterContext.Result = result;
}
}
然后,在需要应用该异常过滤器的控制器或动作上使用 [CustomExceptionFilter] 特性。
[CustomExceptionFilter]
public class MyController : Controller
{
// 控制器代码
}
这样,在发生异常时,会调用自定义异常过滤器的 OnException 方法,并根据自定义错误处理逻辑来显示错误信息。
通过自定义错误处理器或自定义异常过滤器,可以提供更具体的错误信息,而不是默认的错误消息。这样可以更好地了解和解决问题。
下一篇:ASP C#模型绑定验证