How to Minify HTML using WebMarkupMin in ASP.NET MVC

By FoxLearn 7/4/2024 9:18:42 AM   268
Minifying HTML at runtime in ASP.NET MVC using WebMarkupMin to make your web page load faster involves a few steps.

To do that you need to install WebMarkupMin.AspNet4.Mvc library from Nuget Package Manager or you can download it directly from https://github.com/Taritsyn/WebMarkupMin/wiki/WebMarkupMin:-ASP.NET-4.X-MVC

WebMarkupMin is a .NET library that helps in minifying various types of markup, including HTML, CSS, and JavaScript.

Here’s how you can use it specifically for HTML minification in an ASP.NET MVC application:

webmarkupmin

Open FilterConfig class, then add the config to minify HTML and XML content as shown below.

public static void RegisterGlobalFilters(GlobalFilterCollection filters)
{
    filters.Add(new CompressContentAttribute());
    filters.Add(new MinifyHtmlAttribute());
    filters.Add(new MinifyXmlAttribute());
}

You can add atributtes to minify HTML for each Action that you want to minify

[CompressContent]
[MinifyHtml]
public ActionResult Index()
{
    return View();
}

[CompressContent]
[MinifyXhtml]
public ActionResult Contact()
{
    return View();
}

You can also add atributtes to Controller instead of Action

[CompressContent]
[MinifyHtml]
[MinifyXml]
public class HomeController : Controller
{
    public ActionResult Index()
    {
        return View();
    }

    public ActionResult Contact()
    {
        return View();
    }
}

Run your project -> Right click on your web page -> Inspect-> Network tab. Now, you can see a reduction in the number of data transfers.

Through this example, you can effectively integrate and use WebMarkupMin to minify HTML in your ASP.NET MVC application, helping to optimize page load times and reduce bandwidth usage.