C# Class Rebel.Cms.Web.Mvc.ActionFilters.AbstractTempDataCookieFilter

An abstract ActionFilter used to store temporary cookie data that is only persisted for one redirect
Inheritance: System.Web.Mvc.ActionFilterAttribute
显示文件 Open project: RebelCMS/rebelcmsxu5

Public Methods

Method Description
OnActionExecuted ( System.Web.Mvc.ActionExecutedContext filterContext ) : void

Checks the result type, if it is a RedirectToRouteResult it calls the abstract OnRedirect method otherwise if its a view result calls the abstract OnView method.

OnActionExecuting ( System.Web.Mvc.ActionExecutingContext filterContext ) : void

Clears out all cookies starting with the prefix

Generally these cookies will be cleared out on the client side but just in case this will help ensure that we don't leave residule cookes laying around, even though we've already set them to expire in a minute... better safe than sorry

OnResultExecuted ( System.Web.Mvc.ResultExecutedContext filterContext ) : void

Writes the notifications cookie

Protected Methods

Method Description
AddQueryString ( System.Web.Mvc.RedirectToRouteResult result, System.Web.Mvc.ActionExecutedContext filterContext ) : void

Adds the query string name with the temp data key to QueryStrings

AddViewData ( System.Web.Mvc.ViewResult result, System.Web.Mvc.ActionExecutedContext filterContext ) : void

Adds the query string name with the temp data key to ViewData

CreateCookie ( System.Web.Mvc.ResultExecutedContext filterContext ) : void

Creates the cookie

GetTempDataKey ( ControllerContext filterContext ) : string

Returns the key used to reference the cookie temp data

GetTempDataValue ( ControllerContext filterContext ) : object

Returns the value to be stored in the cookie

Method Details

AddQueryString() protected method

Adds the query string name with the temp data key to QueryStrings
protected AddQueryString ( System.Web.Mvc.RedirectToRouteResult result, System.Web.Mvc.ActionExecutedContext filterContext ) : void
result System.Web.Mvc.RedirectToRouteResult
filterContext System.Web.Mvc.ActionExecutedContext
return void

AddViewData() protected method

Adds the query string name with the temp data key to ViewData
protected AddViewData ( System.Web.Mvc.ViewResult result, System.Web.Mvc.ActionExecutedContext filterContext ) : void
result System.Web.Mvc.ViewResult
filterContext System.Web.Mvc.ActionExecutedContext
return void

CreateCookie() protected method

Creates the cookie
protected CreateCookie ( System.Web.Mvc.ResultExecutedContext filterContext ) : void
filterContext System.Web.Mvc.ResultExecutedContext
return void

GetTempDataKey() protected abstract method

Returns the key used to reference the cookie temp data
protected abstract GetTempDataKey ( ControllerContext filterContext ) : string
filterContext ControllerContext
return string

GetTempDataValue() protected abstract method

Returns the value to be stored in the cookie
protected abstract GetTempDataValue ( ControllerContext filterContext ) : object
filterContext ControllerContext
return object

OnActionExecuted() public method

Checks the result type, if it is a RedirectToRouteResult it calls the abstract OnRedirect method otherwise if its a view result calls the abstract OnView method.
public OnActionExecuted ( System.Web.Mvc.ActionExecutedContext filterContext ) : void
filterContext System.Web.Mvc.ActionExecutedContext
return void

OnActionExecuting() public method

Clears out all cookies starting with the prefix
Generally these cookies will be cleared out on the client side but just in case this will help ensure that we don't leave residule cookes laying around, even though we've already set them to expire in a minute... better safe than sorry
public OnActionExecuting ( System.Web.Mvc.ActionExecutingContext filterContext ) : void
filterContext System.Web.Mvc.ActionExecutingContext
return void

OnResultExecuted() public method

Writes the notifications cookie
public OnResultExecuted ( System.Web.Mvc.ResultExecutedContext filterContext ) : void
filterContext System.Web.Mvc.ResultExecutedContext
return void