Question

So I've come to understand that MVC doesn't really have a forms PageLoadevent equivalency so where do I put a code that I would like to execute every time a page loads? I'd like to check for a cookie.

Was it helpful?

Solution

Put it in the Constructor of the MVC Controller.

Or like this:

protected override void OnActionExecuting(ActionExecutingContext filterContext)
{
    base.OnActionExecuting(filterContext);
    // check for cookies!
}   

OTHER TIPS

I think this might fire for every action on the page if there are multiple actions on the page (for example partial views).

If you only want it to fire once you many need to check for

filterContext.IsChildAction

Like this

        protected override void OnActionExecuting(ActionExecutingContext filterContext) {
            if (filterContext.IsChildAction) return;

            // check for cookies!
        }

Mentioned here

In ASP.NET MVC 3, what is filterContext.IsChildAction?

Licensed under: CC-BY-SA with attribution
Not affiliated with StackOverflow
scroll top