In ASP .Net MVC-Anwendungen können Filter auf drei Ebenen angewendet werden.
Filter, die auf der Aktionsmethodenebene angewendet werden, gelten nur für diese Ebene Aktionsmethode.
using System.Web.Mvc; namespace DemoMvcApplication.Controllers{ public class HomeController : Controller{ [Authorize] //Action Method Level public string Index(){ return "Index Invoked"; } } }
Filter auf Controller-Ebene werden auf alle Aktionsmethoden angewendet. Die folgenden Filter sind Gilt für alle Aktionsmethoden von HomeController, jedoch nicht für andere Regler.
using System.Web.Mvc; namespace DemoMvcApplication.Controllers{ [Authorize] //Controller Level public class HomeController : Controller{ public string Index1(){ return "Index1 Invoked"; } public string Index2(){ return "Index2 Invoked"; } } }
Filter auf globaler Ebene werden im Application_Start-Ereignis von global.asax.cs bereitgestellt Erstellen Sie die Datei mit der Standardmethode FilterConfig.RegisterGlobalFilters(). globaler Filter Wird auf alle Controller und Aktionsmethoden der Anwendung angewendet.
public class MvcApplication : System.Web.HttpApplication{ protected void Application_Start(){ AreaRegistration.RegisterAllAreas(); FilterConfig.RegisterGlobalFilters(GlobalFilters.Filters); RouteConfig.RegisterRoutes(RouteTable.Routes); BundleConfig.RegisterBundles(BundleTable.Bundles); } } public class FilterConfig{ public static void RegisterGlobalFilters(GlobalFilterCollection filters){ filters.Add(new HandleErrorAttribute()); filters.Add(new AuthorizeAttribute()); } }
Das obige ist der detaillierte Inhalt vonAuf welcher Ebene können Filter in ASP .Net MVC C# angewendet werden?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!