2016-05-21 111 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因爲什麼都不會使用它。