繁体   English   中英

HandleErrorAttribute在MVC 5中不起作用

[英]HandleErrorAttribute is not working in MVC 5

我正在尝试使HandleErrorAttribut在ASP.NET MVC 5中工作,但不工作

我在App_Start下创建了FilterConfig.cs文件

namespace WebApplication12.App_Start
{
    public class FilterConfig
    {
        public static void RegisterGlobalFilters(GlobalFilterCollection filters)
        {
            filters.Add(new HandleErrorAttribute());
        }
    }
}

并在Global.asax中

namespace WebApplication12
{
    public class MvcApplication : System.Web.HttpApplication
    {



        protected void Application_Start()
        {
            AreaRegistration.RegisterAllAreas();
            RouteConfig.RegisterRoutes(RouteTable.Routes);
            FilterConfig.RegisterGlobalFilters(GlobalFilters.Filters);
        }

    }
}

并在web.config中

  <system.web>
     <customErrors mode="On" defaultRedirect="~/Views/Errorrr.cshtml">
       </customErrors>
    <compilation debug="true" targetFramework="4.5" />
    <httpRuntime targetFramework="4.5" />
  </system.web>

而且仍然会出现错误并且无法处理异常

  [HandleError]
        public ActionResult Index()
        {

            throw new Exception("New Error");
 }

谢谢,

露西亚

默认情况下, HandleError属性将显示~/Views/Shared文件夹中的Error视图,但如果要显示特定视图,则可以设置属性的View属性。

[HandleError(View = "Error")]
public ActionResult Index()
{
    ViewBag.Message = "Welcome to ASP.NET MVC!";
    int u = Convert.ToInt32("");// Error line
    return View();
} 

看看是否有帮助。

如果它的Mvc5确保您使用“使用System.Web.Mvc”而不是“使用System.Web.Http.Filters”,因为后者用于WebApi。 您还可以发布HandleErrorAttribute类的代码。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM