微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

在 ASP .Net MVC C# 中可以应用过滤器的级别是什么?

在 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";
      }
   }
}

全局级别

全局级别过滤器在global.asax.cs的Application_Start事件中提供 使用认的 FilterConfig.RegisterGlobalFilters() 方法创建文件。全局过滤器 将应用于应用程序的所有控制器和操作方法

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());
   }
}

以上就是在 ASP .Net MVC C# 中可以应用过滤器的级别是什么?的详细内容,更多请关注编程之家其它相关文章

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 [email protected] 举报,一经查实,本站将立刻删除。

相关推荐