Pergunta

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.

Foi útil?

Solução

Put it in the Constructor of the MVC Controller.

Or like this:

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

Outras dicas

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?

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top