示例#1
0
    public virtual async Task <string> RenderAsync(
        string templateName,
        object model       = null,
        string cultureName = null,
        Dictionary <string, object> globalContext = null)
    {
        var templateDefinition = TemplateDefinitionManager.Get(templateName);

        var renderEngine = templateDefinition.RenderEngine;

        if (renderEngine.IsNullOrWhiteSpace())
        {
            renderEngine = Options.DefaultRenderingEngine;
        }

        var providerType = Options.RenderingEngines.GetOrDefault(renderEngine);

        if (providerType != null && typeof(ITemplateRenderingEngine).IsAssignableFrom(providerType))
        {
            using (var scope = ServiceScopeFactory.CreateScope())
            {
                var templateRenderingEngine = (ITemplateRenderingEngine)scope.ServiceProvider.GetRequiredService(providerType);
                return(await templateRenderingEngine.RenderAsync(templateName, model, cultureName, globalContext));
            }
        }

        throw new AbpException("There is no rendering engine found with template name: " + templateName);
    }
示例#2
0
    protected virtual async Task <string> RenderInternalAsync(
        string templateName,
        string body,
        Dictionary <string, object> globalContext,
        object model = null)
    {
        var templateDefinition = TemplateDefinitionManager.Get(templateName);

        var renderedContent = await RenderSingleTemplateAsync(
            templateDefinition,
            body,
            globalContext,
            model
            );

        if (templateDefinition.Layout != null)
        {
            renderedContent = await RenderInternalAsync(
                templateDefinition.Layout,
                renderedContent,
                globalContext
                );
        }

        return(renderedContent);
    }
示例#3
0
 public TemplatContentsModel(ITemplateDefinitionAppService templateDefinitionAppService,
                             IVirtualFileProvider virtualFileProvider
                             , TemplateDefinitionManager templateDefinitionManager)
 {
     _templateDefinitionAppService = templateDefinitionAppService;
     VirtualFileProvider           = virtualFileProvider;
     _templateDefinitionManager    = templateDefinitionManager;
 }
 public TemplateDefinitionAppService(TemplateDefinitionManager templateDefinitionManager)
 {
     _templateDefinitionManager = templateDefinitionManager;
 }