C# MVC中過濾器的簡單使用

1.首先繼承抽象類ActionFilterAttribute,從新OnActionExecuting方法,該方法在訪問Action前執行ide

public class MvcActionFilterAttribute : ActionFilterAttribute
    {
        public bool isCheck { get; set; }url

        public override void OnActionExecuting(ActionExecutingContext filterContext)
        {
            base.OnActionExecuting(filterContext);繼承

            if (isCheck)
            {
                var str = "登陸";
                if (!string.IsNullOrEmpty(str))
                {
                    var url = filterContext.HttpContext.Request.Url;//獲取當前所在頁面的URL
                    //跳轉到登陸頁面並把當前所在頁面的URL當作參數傳到登陸頁面
                    filterContext.Result = new RedirectResult(url.ToString()); 
                }
            }
        }
    }get

2.在須要過濾器的Action或者Controller上聲明過濾器,該方法設置爲falsestring

[MvcActionFilter(isCheck = false)]
 public ActionResult Index()
{
     return View();
}io

3.須要設置全局過濾器,在App_Start->FilterConfig下RegisterGlobalFilters方法中添加如下代碼class

filters.Add(new MvcActionFilterAttribute() { isCheck = true });//添加登陸驗證過濾器登錄

相關文章
相關標籤/搜索