ASP.NET MVC 5 Filter – Redirect to Specific View and Assign ViewBag Value on the View

ASP.NET MVC 5 Filter – Redirect to Specific View and Assign ViewBag Value on the View

 
   using System.Web.Mvc;
 
   public class TestActionFilter : ActionFilterAttribute
   {
      public int ID { get; set; }
      public string UserName { get; set; }
 
      public override void OnActionExecuting(ActionExecutingContext filterContext)
      {
         base.OnActionExecuting(filterContext);
      }
 
      public override void OnActionExecuted(ActionExecutedContext filterContext)
      {
         if (ID == 1)
         {
            filterContext.Result = new ViewResult() { ViewName = @"~/Views/Home/Exception.cshtml" };
 
            if (filterContext.Controller != null)
            {
               var ViewResult = filterContext.Result as ViewResult;
               var ViewBag = ViewResult.ViewBag;
               ViewBag.Exception = "Exception : … …";
            }
         }
 
         base.OnActionExecuted(filterContext);
      }
 
      public override void OnResultExecuting(ResultExecutingContext filterContext)
      {
         base.OnResultExecuting(filterContext);
      }
 
      public override void OnResultExecuted(ResultExecutedContext filterContext)
      {
         base.OnResultExecuted(filterContext);
      }
   }
 

Remark : The View Redirect Function is only worked before OnResultExecuting LiveCycle.