在.NET MVC C#中可以在哪些级别应用筛选器?
在ASP.NetMVC应用程序中,可以在三个级别上应用过滤器。
行动方法水平
控制器级别
全球水平
行动方法水平
在“操作方法”级别应用的过滤器仅特别适用于该操作方法。
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());
}
}热门推荐
10 小红书平安祝福语简短
11 生日祝福语大全女孩简短
12 收生日红包祝福语 简短
13 领证幽默祝福语简短
14 法考面试祝福语简短
15 老哥出门祝福语简短语
16 送灯祝福语简短独特
17 幼儿狗年祝福语大全简短
18 好听的元旦简短祝福语