Пример #1
0
        public override void OnActionExecuting(ActionExecutingContext filterContext)
        {
            if (PageEditing.PageIsInEditMode)
            {
                return;
            }

            Logger.Debug("Starting 404 handler action filter");
            var request = filterContext.HttpContext.Request;

            filterContext.HttpContext.Response.TrySkipIisCustomErrors = true;
            var statusCode = NotFoundPageUtil.GetStatusCode(request);

            filterContext.HttpContext.Response.StatusCode = statusCode;
            var status = NotFoundPageUtil.GetStatus(statusCode);

            if (!string.IsNullOrEmpty(status))
            {
                filterContext.HttpContext.Response.Status = status;
            }
            NotFoundPageUtil.SetCurrentLanguage(filterContext.HttpContext);
            filterContext.Controller.ViewBag.Referrer    = NotFoundPageUtil.GetReferer(request);
            filterContext.Controller.ViewBag.NotFoundUrl = NotFoundPageUtil.GetUrlNotFound(request);
            filterContext.Controller.ViewBag.StatusCode  = statusCode;
        }
Пример #2
0
 /// <inheritdoc />
 /// <summary>
 /// Load event for the page
 /// </summary>
 protected override void OnLoad(EventArgs e)
 {
     base.OnLoad(e);
     NotFoundPageUtil.HandleOnLoad(Page, UrlNotFound, Referer);
 }