文章出處

public class TimeoutAttribute : ActionFilterAttribute
    {
        public override void OnActionExecuting(ActionExecutingContext filterContext)
        {
            HttpContextBase context = filterContext.HttpContext;
            HttpResponseBase response = filterContext.HttpContext.Response;
            HttpRequestBase request = filterContext.HttpContext.Request;
            if (context.Session["User"] == null)
            {
                if (request.IsAjaxRequest())
                    response.Status = "401 Session Timeout";
                else
                    response.Redirect("/Home/Login");//返回登錄頁
                filterContext.Result = new HttpUnauthorizedResult();//這一行保證不再執行Action的代碼
                response.End();//必須加上這句,否則返回前臺status始終是200
                return;
            }
            base.OnActionExecuting(filterContext);
        }
    }
前臺:
error:function(a,b,c){
if(c.statusText=="Session Timeout"){
                location="/home/login";
            }

}

 本文參考 I魷魚的博客。。。。。


文章列表




Avast logo

Avast 防毒軟體已檢查此封電子郵件的病毒。
www.avast.com


全站熱搜
創作者介紹
創作者 大師兄 的頭像
大師兄

IT工程師數位筆記本

大師兄 發表在 痞客邦 留言(0) 人氣()