在ASP .Net MVC C#中可以應用過濾器的級別有哪些?
在 ASP .Net MVC 應用程式中,過濾器可以在三個級別應用。
- 操作方法級別
- 控制器級別
- 全域性級別
操作方法級別
應用在操作方法級別的過濾器只會對特定的操作方法生效。
using System.Web.Mvc;
namespace DemoMvcApplication.Controllers{
public class HomeController : Controller{
[Authorize] //Action Method Level
public string Index(){
return "Index Invoked";
}
}
}控制器級別
控制器級別的過濾器應用於所有操作方法。以下過濾器適用於 HomeController 的所有操作方法,但不適用於其他控制器。
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";
}
}
}全域性級別
全域性級別的過濾器透過使用預設 FilterConfig.RegisterGlobalFilters() 方法在 global.asax.cs 檔案的 Application_Start 事件中提供。全域性過濾器將應用於應用程式的所有控制器和操作方法。
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());
}
}
廣告
資料結構
網路
關係型資料庫管理系統
作業系統
Java
iOS
HTML
CSS
Android
Python
C 語言程式設計
C++
C#
MongoDB
MySQL
JavaScript
PHP