Table of Contents

CdnImageTagHelper Class

Definition

Namespace
Cuemon.AspNetCore.Razor.TagHelpers
Assemblies
Cuemon.AspNetCore.Razor.TagHelpers.dll
Source
src/Cuemon.AspNetCore.Razor.TagHelpers/CdnImageTagHelper.cs

Provides an implementation targeting <img> elements that supports ICacheBusting versioning of a static image placed on a location with a CDN role. This class cannot be inherited.

[HtmlTargetElement("cdn-img")]
public sealed class CdnImageTagHelper : ImageTagHelper<CdnTagHelperOptions>, ITagHelper, ITagHelperComponent, IConfigurable<CdnTagHelperOptions>
Inheritance
CdnImageTagHelper
Implements
Inherited Members

Examples

The following example demonstrates how to create CdnImageTagHelper with CDN-specific options.

using System;
using Cuemon.AspNetCore.Configuration;
using Cuemon.AspNetCore.Razor.TagHelpers;
using Microsoft.Extensions.Options;

namespace MyApp.Examples;

public static class CdnImageTagHelperExample
{
    private sealed class AssetVersion : ICacheBusting
    {
        public string Version => "2.1.0";
    }

    public static void Demonstrate()
    {
        var settings = new CdnTagHelperOptions
        {
            Scheme = ProtocolUriScheme.Https,
            BaseUrl = "nblcdn.net"
        };

        var version = new AssetVersion();
        var tagHelper = new CdnImageTagHelper(Options.Create(settings), version)
        {
            Src = "images/logo.svg",
            Alt = "Codebelt logo"
        };
        var imageUrl = tagHelper.Options.GetFormattedBaseUrl() + tagHelper.Src + "?v=" + version.Version;

        Console.WriteLine(imageUrl);
    }
}

Constructors

Name Description
CdnImageTagHelper(IOptions<CdnTagHelperOptions>, ICacheBusting)

Initializes a new instance of the CdnImageTagHelper class.

See Also

ImageTagHelper<TOptions>