• Asp .Net MVC中常用过滤属性类


     1         /// <summary>
     2     /// 
     3     /// </summary>
     4     public class AjaxOnlyAttribute : ActionFilterAttribute
     5     {
     6         /// <summary>
     7         /// Called by the ASP.NET MVC framework before the action method executes.
     8         /// </summary>
     9         /// <param name="filterContext">The filter context.</param>
    10         public override void OnActionExecuting(ActionExecutingContext filterContext)
    11         {
    12             if (!filterContext.HttpContext.Request.IsAjaxRequest())
    13             {
    14                 filterContext.Result = new ContentResult() { Content = "只支持Ajax方法调用。", ContentEncoding = Encoding.UTF8, ContentType = "text/html" };
    15                 //new HttpNotFoundResult();
    16             }
    17             base.OnActionExecuting(filterContext);
    18         }
    只允许通过Ajax调用
     1         /// <summary>
     2     /// 自定义模板页面
     3     /// </summary>
     4     public class LayoutAttribute : ActionFilterAttribute
     5     {
     6         private readonly string _masterName;
     7         public LayoutAttribute(string masterName)
     8         {
     9             _masterName = masterName;
    10         }
    11         /// <summary>
    12         /// 页面渲染结束后执行
    13         /// </summary>
    14         /// <param name="filterContext"></param>
    15         public override void OnActionExecuted(ActionExecutedContext filterContext)
    16         {
    17             base.OnActionExecuted(filterContext);
    18             var result = filterContext.Result as ViewResult;
    19             if (result != null)
    20             {
    21                 result.MasterName = _masterName;
    22             }
    23         }
    24     }
    设置公共母板页面
     1         /// <summary>
     2     /// 页面标题
     3     /// </summary>
     4     public class PageTitleAttribute : ActionFilterAttribute
     5     {
     6         private readonly string _pageTitle;
     7         public PageTitleAttribute(string pageTitle)
     8         {
     9             _pageTitle = pageTitle;
    10         }
    11         /// <summary>
    12         /// 页面渲染结束后执行
    13         /// </summary>
    14         /// <param name="filterContext"></param>
    15         public override void OnActionExecuted(ActionExecutedContext filterContext)
    16         {
    17             base.OnActionExecuted(filterContext);
    18             var result = filterContext.Result as ViewResult;
    19             if (result != null)
    20             {
    21                 result.ViewBag.Title = _pageTitle;
    22             }
    23         }
    24     }
    设置Action页面标题
     1     [AttributeUsage(AttributeTargets.Class | AttributeTargets.Method, AllowMultiple = false)]
     2     public class AuthorizeFilterAttribute : ActionFilterAttribute
     3     {
     4         // OnActionExecuted 在执行操作方法后由 ASP.NET MVC 框架调用。
     5         // OnActionExecuting 在执行操作方法之前由 ASP.NET MVC 框架调用。
     6         // OnResultExecuted 在执行操作结果后由 ASP.NET MVC 框架调用。
     7         // OnResultExecuting 在执行操作结果之前由 ASP.NET MVC 框架调用。
     8         public override void OnActionExecuting(ActionExecutingContext filterContext)
     9         {
    10             //DoSomething();
    11         }
    12     }        
    设置页面访问权限验证
  • 相关阅读:
    svn搭建多版本共存记录
    python中使用redis
    小程序之使用腾讯地图获取经纬度
    vue路由元之进入路由需要用户登录权限功能
    input type="tel" 数字输入框显示圆点
    input在IOS中的聚焦问题
    JS实现手机号码中间4位变星号
    CSS实现div填充剩余高度
    小程序之地图导航
    小程序之点击图片放大预览
  • 原文地址:https://www.cnblogs.com/ziranquliu/p/4689582.html
Copyright © 2020-2023  润新知