protected ViewResult View <TAgent, TViewModel, TParams>(object agentParameters) where TAgent : Agent <TViewModel> where TViewModel : IgnitionViewModel, new() where TParams : class, IParamsBase { var contextPage = GetContextItem <IPage>(true, true) ?? new NullPage(); var datasourceItem = GetDataSourceItem(); var renderingParameters = GetRenderingParameters <TParams>(); var agentContext = new AgentContext(IgnitionControllerContext, SitecoreContext, contextPage, datasourceItem) { AgentParameters = agentParameters, RenderingParameters = renderingParameters }; var agent = AgentFactory.CreateAgent <TAgent, TViewModel>(agentContext); agent.PopulateModel(); return(View(agent.ViewPath, agent.ViewModel)); }