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.