2016-05-21 66 views
0
using System; 
using System.Collections.Generic; 
using System.Linq; 
using System.Web; 
using System.Web.Mvc; 
using System.Web.Optimization; 
using System.Web.Routing; 

namespace Bloggers_Area 
{ 
    public class MvcApplication : System.Web.HttpApplication 
    { 
     public static object Filters { get; private set; } 

     public static void RegisterGlobalFilters(GlobalFilterCollection fiters) 
     { 
      Filters.Add(new HandleErrorAttribute()); 
     } 

     public static void RegisterRoutes(RouteCollection routes) 
     { 
      routes.IgnoreRoute("{resource}.axd/{pathInfo}"); 

      routes.MapRoute(
       "Default", // Route Name 
       "{controller}//{action}/{id}", //URL with parameters 
       new { Controller = "Login", action = "Login", id = UrlParameter.Optional } // Parameter Deafults 
       ); 
     } 
      protected void Application_Start() 
     { 
      RegisterGlobalFilters(GlobalFilters.Filters); 
      RegisterRoutes(RouteTable.Routes); 
     } 
    } 
} 

在此行中的定义:“对象”不包含“添加”

filters.Add(new (HanldeErrorAttribute()); 

口口声声说

“对象”不包含定义为“添加”并没有扩展 方法'添加'接受类型'对象'的第一个参数可能是 找到。

有人可以帮忙吗?

+0

题目不好。应该更具体一些。 – user1751825

回答

0

当前在您的方法RegisterGlobalFilters内,请参阅属性Filters,该类型的类型为object。相反,你应该参考方法参数filters(从小写f开始),这是GlobalFilterCollection类型:

public static void RegisterGlobalFilters(GlobalFilterCollection fiters) 
{ 
    // lowercase f in line below 
    filters.Add(new HandleErrorAttribute()); 
} 
0

嗯,你声明的属性是object类型:

public static object Filters { get; private set; } 

而且objectdoes not contain a definitionAdd方法。就像错误说的那样,你不能调用一个不存在的方法。

也许你的意思是,调用它被传递给方法?:

filters.Add(new HandleErrorAttribute()); 

在这种情况下,你可能也完全删除您Filters财产filters因为什么都不会使用它。