public Template(TemplateType templateType, Func <object, O, ContextualizedHelpers, IHtmlContent> fTemplate, ViewContext originalContext) { if (fTemplate == null) { throw new ArgumentNullException(nameof(fTemplate)); } if (templateType != TemplateType.InLine && templateType != TemplateType.Function) { throw new ArgumentException(DefaultMessages.InconsistentTemplateFunc, nameof(templateType)); } Type = templateType; FTemplate = fTemplate; if (templateType == TemplateType.InLine) { if (originalContext == null) { throw new ArgumentNullException(nameof(originalContext)); } this.originalContext = originalContext; Lock = originalContext.ViewData[viewLockName] as AsyncLock; if (Lock == null) { originalContext.ViewData[viewLockName] = Lock = new AsyncLock(); } OriginalProvider = originalContext.TagHelperProvider(); } }
public static IServiceCollection AddMvcControlsToolkitControls(this IServiceCollection services, Action <MvcControlsToolkitOptions> setupAction = null, Type defaultTagHelpersProviderType = null, ITagHelpersProvider defaultTagHelpersProviderInstance = null ) { services.AddLocalization(); if (defaultTagHelpersProviderType == null) { defaultTagHelpersProviderInstance = null; defaultTagHelpersProviderType = typeof(DefaultServerControlsTagHelpersProvider); } if (defaultTagHelpersProviderInstance == null) { defaultTagHelpersProviderInstance = Activator.CreateInstance(defaultTagHelpersProviderType) as ITagHelpersProvider; } services.AddTagHelpersProvider(defaultTagHelpersProviderType, defaultTagHelpersProviderInstance); services.AddMvcControlsToolkit((o) => { o.DefaultProvider = defaultTagHelpersProviderInstance; }); services.Configure <RazorViewEngineOptions>(options => { options.FileProviders.Add( new EmbeddedFileProvider(typeof(ControlsDIExtensions).GetTypeInfo().Assembly, "MvcControlsToolkit.ControlsCore")); } ); if (setupAction != null) { services.Configure(setupAction); } return(services); }
public static IServiceCollection AddMvcControlsToolkitControls(this IServiceCollection services, Action<MvcControlsToolkitOptions> setupAction = null, Type defaultTagHelpersProviderType=null, ITagHelpersProvider defaultTagHelpersProviderInstance=null ) { services.AddLocalization(); if (defaultTagHelpersProviderType == null) { defaultTagHelpersProviderInstance = null; defaultTagHelpersProviderType = typeof(DefaultServerControlsTagHelpersProvider); } if (defaultTagHelpersProviderInstance == null) defaultTagHelpersProviderInstance = Activator.CreateInstance(defaultTagHelpersProviderType) as ITagHelpersProvider; services.AddTagHelpersProvider(defaultTagHelpersProviderType, defaultTagHelpersProviderInstance); services.AddMvcControlsToolkit((o) => { o.DefaultProvider = defaultTagHelpersProviderInstance; }); services.Configure<RazorViewEngineOptions>(options => { options.FileProviders.Add( new EmbeddedFileProvider(typeof(ControlsDIExtensions).GetTypeInfo().Assembly, "MvcControlsToolkit.ControlsCore")); } ); if (setupAction != null) services.Configure(setupAction); return services; }
public static ITagHelpersProvider TagHelperProvider(this ViewContext context) { var viewData = context.ViewData; ITagHelpersProvider res = viewData[TagHelpersProviderContext.Field] as ITagHelpersProvider; if (res == null) { viewData[TagHelpersProviderContext.Field] = res = MvcControlsToolkitOptions.Instance.DefaultProvider; } return(res); }
public TagHelpersProviderContext(ITagHelpersProvider provider, ViewContext context) { this.provider = provider; this.context = context; oldProviderContext = context.ViewData[field] as TagHelpersProviderContext ?? new TagHelpersProviderContext(context.HttpContext.RequestServices.GetService <DefaultTagHelpersProvider>()); if (oldProviderContext == provider) { return; } oldProviderContext.provider.UnPrepareViewContext(context); context.ViewData[field] = this; context.ClientValidationEnabled = provider.RequireUnobtrusiveValidation; provider.PrepareViewContext(context); }
public TagHelpersProviderContext(ITagHelpersProvider provider) { this.provider = provider; }
public static IServiceCollection AddTagHelpersProvider(this IServiceCollection services, Type providerType, ITagHelpersProvider instance = null) { if (instance == null) { services.AddSingleton(providerType); } else { services.AddSingleton(providerType, instance); } return(services); }