internal static IMvcCoreBuilder AddModularRazorViewEngine(this IMvcCoreBuilder builder, IServiceProvider services) { return(builder.AddRazorViewEngine(options => { options.ViewLocationExpanders.Add(new CompositeViewLocationExpanderProvider()); })); }
public static IMvcCoreBuilder AddRazorTemplating(this IMvcCoreBuilder builder) { builder.AddRazorViewEngine(); builder.Services.AddRazorTemplating(); return builder; }
/// <summary> /// Adds MVC localization to the application. /// </summary> /// <param name="builder">The <see cref="IMvcBuilder"/>.</param> /// <param name="format">The view format for localized views.</param> /// <returns>The <see cref="IMvcBuilder"/>.</returns> /// <remarks> /// Adding localization also adds support for views via /// <see cref="MvcViewFeaturesMvcCoreBuilderExtensions.AddViews(IMvcCoreBuilder)"/> and the Razor view engine /// via <see cref="MvcRazorMvcCoreBuilderExtensions.AddRazorViewEngine(IMvcCoreBuilder)"/>. /// </remarks> public static IMvcCoreBuilder AddViewLocalization( [NotNull] this IMvcCoreBuilder builder, LanguageViewLocationExpanderFormat format) { builder.AddViews(); builder.AddRazorViewEngine(); MvcLocalizationServices.AddLocalizationServices(builder.Services, format); return(builder); }
/// <summary> /// Register services needed for Razor Pages. /// </summary> /// <param name="builder">The <see cref="IMvcCoreBuilder"/>.</param> /// <returns>The <see cref="IMvcCoreBuilder"/>.</returns> public static IMvcCoreBuilder AddRazorPages(this IMvcCoreBuilder builder) { if (builder == null) { throw new ArgumentNullException(nameof(builder)); } builder.AddRazorViewEngine(); AddRazorPagesServices(builder.Services); return(builder); }
/// <summary> /// Use areas with feature folders and custom options /// </summary> public static IMvcCoreBuilder AddAreaFeatureFolders(this IMvcCoreBuilder services, AreaFeatureFolderOptions options) { services.AddRazorViewEngine(o => { o.AreaViewLocationFormats.Clear(); o.AreaViewLocationFormats.Add(options.DefaultAreaViewLocation); o.AreaViewLocationFormats.Add(options.AreaFolderName + @"\{2}\{1}\{0}.cshtml"); o.AreaViewLocationFormats.Add(options.AreaFolderName + @"\{2}\Shared\{0}.cshtml"); o.AreaViewLocationFormats.Add(options.AreaFolderName + @"\Shared\{0}.cshtml"); o.AreaViewLocationFormats.Add(options.FeatureFolderName + @"\Shared\{0}.cshtml"); }); return(services); }
internal static IMvcCoreBuilder AddModularRazorViewEngine(this IMvcCoreBuilder builder, IServiceProvider services) { return(builder.AddRazorViewEngine(options => { options.ViewLocationExpanders.Add(new CompositeViewLocationExpanderProvider()); var env = services.GetRequiredService <IHostingEnvironment>(); if (env.IsDevelopment()) { options.FileProviders.Insert(0, new ModuleProjectRazorFileProvider(env)); } })); }
/// <summary> /// Adds MVC view localization services to the application. /// </summary> /// <param name="builder">The <see cref="IMvcCoreBuilder"/>.</param> /// <param name="format">The view format for localized views.</param> /// <returns>The <see cref="IMvcCoreBuilder"/>.</returns> /// <remarks> /// Adding localization also adds support for views via /// <see cref="MvcViewFeaturesMvcCoreBuilderExtensions.AddViews(IMvcCoreBuilder)"/> and the Razor view engine /// via <see cref="MvcRazorMvcCoreBuilderExtensions.AddRazorViewEngine(IMvcCoreBuilder)"/>. /// </remarks> public static IMvcCoreBuilder AddViewLocalization( this IMvcCoreBuilder builder, LanguageViewLocationExpanderFormat format) { if (builder == null) { throw new ArgumentNullException(nameof(builder)); } builder.AddViews(); builder.AddRazorViewEngine(); MvcLocalizationServices.AddLocalizationServices(builder.Services, format, setupAction: null); return(builder); }
internal static IMvcCoreBuilder AddNToastNotifyToMvcBuilder <TNotificationImplementation>(this IMvcCoreBuilder mvcCoreBuilder, ILibrary library, NToastNotifyOption nToastNotifyOptions) where TNotificationImplementation : class, IToastNotification { //This is a fix for Feature folders based project structure. Add the view location to ViewLocationExpanders. mvcCoreBuilder.AddRazorViewEngine(o => { o.ViewLocationFormats.Add("/Views/Shared/{0}.cshtml"); }); var services = mvcCoreBuilder.Services; AddNToastNotifyToServiceCollection <TNotificationImplementation>(services, library, nToastNotifyOptions); return(mvcCoreBuilder); }
internal static IMvcCoreBuilder AddNToastNotifyToMvcBuilder <TLibrary, TOption, TMessage, TNotificationImplementation>(this IMvcCoreBuilder mvcCoreBuilder, TOption defaultLibOptions, NToastNotifyOption nToastNotifyOptions = null) where TLibrary : class, ILibrary <TOption>, new() where TOption : class, ILibraryOptions where TMessage : class, IToastMessage where TNotificationImplementation : class, IToastNotification { //This is a fix for Feature folders based project structure. Add the view location to ViewLocationExpanders. mvcCoreBuilder?.AddRazorViewEngine(o => { o.ViewLocationFormats.Add("/Views/Shared/{0}.cshtml"); }); var services = mvcCoreBuilder.Services; AddNToastNotifyToServiceCollection <TLibrary, TOption, TMessage, TNotificationImplementation>(services, defaultLibOptions, nToastNotifyOptions); return(mvcCoreBuilder); }
/// <summary> /// Register services needed for Razor Pages. /// </summary> /// <param name="builder">The <see cref="IMvcCoreBuilder"/>.</param> /// <param name="setupAction">The action to setup the <see cref="RazorPagesOptions"/>.</param> /// <returns>The <see cref="IMvcCoreBuilder"/>.</returns> public static IMvcCoreBuilder AddRazorPages( this IMvcCoreBuilder builder, Action <RazorPagesOptions> setupAction) { if (builder == null) { throw new ArgumentNullException(nameof(builder)); } if (setupAction == null) { throw new ArgumentNullException(nameof(setupAction)); } builder.AddRazorViewEngine(); AddRazorPagesServices(builder.Services); builder.Services.Configure(setupAction); return(builder); }