예제 #1
0
        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));
        }