public static IDictionary <string, object> ActionData(this ControllerContext context, bool rootNotCurrent = true) { var actionsCount = context.ActionContextsStack().Count(); var cc = rootNotCurrent ? context.ActionContextsStack().Last() : context.ActionContextsStack().First(); return(cc.Controller.ViewData.AddOrGetExisting("UpdatePanels.ActionData", () => new Dictionary <string, object>())); }