压缩 html 可以去除代码中无用的空格等,这样可提高网站的加载速度并节省带宽。今天就让我们看看在 ASP.NET MVC 3 怎么实现 html 压缩,我们可通过实现 ActionFilter 来完成 html 的压缩。
其实我们在 这篇文章中使用的就是这种方法,主要看看实现的 FilterAttribute 类:
public class WhitespaceFilterAttribute : ActionFilterAttribute {
    public override void OnActionExecuting(ActionExecutingContext filterContext)     {
        var request = filterContext.HttpContext.Request;         var response = filterContext.HttpContext.Response;         response.Filter = new WhiteSpaceFilter(response.Filter, s =>         {
            s = Regex.Replace(s, @"\s+(?=<)|\s+$|(?<=>)\s+", "");             //single-line doctype must be preserved             var firstEndBracketPosition = s.IndexOf(">");             if (firstEndBracketPosition >= 0)             {
                s = s.Remove(firstEndBracketPosition, 1);                 s = s.Insert(firstEndBracketPosition, ">");             }             return s;         });     } }
使用时在 Action 方法上添加 Filter 属性即可,如下:
[WhitespaceFilter] public ActionResult Index(string id) {
    return View(); }
大家可以看看作者的文章 ,我主要修改了下作者使用的正则,因为原正则会将<pre></pre>中的空格也进行替换,并指定编码为 UTF-8。
这样就在 ASP.NET MVC 3 中实现了 html 的压缩,大家可以下载 类来自己试试!
原文地址:http://www.lidongkui.com/asp-net-mvc-3-website-optimization-summary-minify-html