示例#1
0
        public IControlRenderer GetRenderer(string name)
        {
            var options = this.OptionsMonitor.Get(name);

            if (null == options.RendererType)
            {
                throw new InvalidOperationException($"A control renderer with name '{name}' not found. Have you forgotten to call AddRenderer<T>(string) on IWebControlsBuilder ?");
            }

            IControlRendererEvents eventClassInstance = null;

            if (null != options.EventClass)
            {
                eventClassInstance = ActivatorUtilities.CreateInstance <IControlRendererEvents>(this.ServiceProvider);
            }

            eventClassInstance = eventClassInstance ?? NullControlRendererEvents.Current;

            return((IControlRenderer)ActivatorUtilities.CreateInstance(this.ServiceProvider, options.RendererType, options, eventClassInstance));
        }
示例#2
0
 public DefaultControlRenderer(IServiceProvider serviceProvider, WebControlsRendererOptions rendererOptions, IControlRendererEvents events, IOptions <WebControlsOptions> optionsAccessor)
 {
     this.ServiceProvider    = serviceProvider;
     this.WebControlsOptions = optionsAccessor.Value;
     this.RendererOptions    = rendererOptions;
     this.Events             = events;
 }
 public BootstrapGridRenderer(IServiceProvider serviceProvider, WebControlsRendererOptions rendererOptions, IControlRendererEvents events, IOptions <WebControlsOptions> optionsAccessor)
     : base(serviceProvider, rendererOptions, events, optionsAccessor)
 {
 }