MVC Filter中加入验证并跳转
public class BuildingFilter : ActionFilterAttribute { /// <summary> /// 验证 Building Cookie add xia 验证是否登陆,是否选择案场 /// </summary> /// <param name="filterContext"></param> public override void OnActionExecuting(ActionExecutingContext filterContext) { var cookie = filterContext.HttpContext.Request.Cookies[FormsAuthentication.FormsCookieName]; if (cookie == null) { filterContext.Result = new RedirectResult("/Login/LoginOut"); return; } var buildingCookie = filterContext.HttpContext.Request.Cookies["Building"]; if (buildingCookie == null) { filterContext.Result = new RedirectResult("/BuildingList/Index"); return; } else { long buildingSysNo; long relationSysNo; //关系SysNo long.TryParse(buildingCookie.Values["RelationSysNo"], out relationSysNo); //案场SysNo long.TryParse(buildingCookie.Values["BuildingSysNo"], out buildingSysNo); if (buildingSysNo == 0 || relationSysNo == 0) { filterContext.Result = new RedirectResult("/BuildingList/Index"); return; } } base.OnActionExecuting(filterContext); } }
我是验证是否登陆和是否选择案场【一并验证】
使用方法如下:
/// <summary> /// 签约列表 -GET /// </summary> /// <returns></returns> [BuildingFilter] public ActionResult ContractOrderList() { return View(); }
屌丝一直很屌