ASP.NET MVC 3 网站优化总结(六)压缩 HTML
2012-03-20 10:06
531 查看
压缩 html 可以去除代码中无用的空格等,这样可提高网站的加载速度并节省带宽。今天就让我们看看在 ASP.NET MVC 3 怎么实现 html 压缩,我们可通过实现 ActionFilter 来完成 html 的压缩。
其实我们在 ASP.NET MVC 3 网站优化总结(一) 使用 Gzip 压缩这篇文章中使用的就是这种方法,主要看看实现的 FilterAttribute 类:
使用时在 Action 方法上添加 Filter 属性即可,如下:
大家可以看看作者的文章 Minify HTML with .NET MVC ActionFilter,我主要修改了下作者使用的正则,因为原正则会将<pre></pre>中的空格也进行替换,并指定编码为 UTF-8。
这样就在 ASP.NET MVC 3 中实现了 html 的压缩,大家可以下载 WhiteSpaceFilter.rar 类来自己试试!
原文地址:http://www.lidongkui.com/asp-net-mvc-3-website-optimization-summary-minify-html
其实我们在 ASP.NET MVC 3 网站优化总结(一) 使用 Gzip 压缩这篇文章中使用的就是这种方法,主要看看实现的 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(); }
大家可以看看作者的文章 Minify HTML with .NET MVC ActionFilter,我主要修改了下作者使用的正则,因为原正则会将<pre></pre>中的空格也进行替换,并指定编码为 UTF-8。
这样就在 ASP.NET MVC 3 中实现了 html 的压缩,大家可以下载 WhiteSpaceFilter.rar 类来自己试试!
原文地址:http://www.lidongkui.com/asp-net-mvc-3-website-optimization-summary-minify-html
相关文章推荐
- ASP.NET MVC 3 网站优化总结(六)压缩 HTML
- ASP.NET MVC 3 网站优化总结(六)压缩 HTML
- ASP.NET MVC 3 网站优化总结(一) 使用 Gzip 压缩
- ASP.NET MVC 3 网站优化总结(一) 使用 Gzip 压缩
- ASP.NET MVC 3 网站优化总结(一) 使用 Gzip 压缩
- ASP.NET MVC 3 网站优化总结(一) 使用 Gzip 压缩
- ASP.NET MVC 网站优化总结 使用 Gzip 压缩
- ASP.NET MVC 3 网站优化总结(三)Specify Vary: Accept-Encoding header
- ASP.NET MVC 3 网站优化总结(二)使用ASP.NET Sprite
- ASP.NET MVC 3 网站优化总结(三)Specify Vary: Accept-Encoding header
- ASP.NET MVC 3 网站优化总结(四)使用缓存
- ASP.NET MVC 3 网站优化总结(二)使用ASP.NET Sprite
- ASP.NET MVC 3 网站优化总结(五)视图的优化
- ASP.NET MVC 3 网站优化总结(三)Specify Vary: Accept-Encoding header
- (转)ASP.NET MVC 给ViewBag赋值Html格式字符串的显示问题总结
- ASP.NET MVC 给ViewBag赋值Html格式字符串的显示问题总结
- ASP.NET MVC 使用总结(二)——扩展HtmlHelper实现动态生成title及meta
- 用asp.net mvc 开发的网站 在IIS中怎么样才能设置index.html为主页?
- asp.net mvc+jquery easyui开发实战教程之网站后台管理系统开发4- 后台模板html页面创建
- ASP.NET MVC 性能优化总结