过滤ASP.NET输出HTML中的无用空格

  刚才“不小心”检查了一下ASP.NET生成的代码,惊讶地发现ASP.NET输出的代码居然如此地不紧凑,在标签之间有无数的空格和制表符(TAB),特别是用了嵌套表格之后,那景象真是惨不忍睹啊,有图为证:
 
  照理说在ASP.NET生成的代码中添加这么多无用的空格/tab可能是为了使生成的HTML代码更具可读性,但是由此带来的问题就是使输出的代码变大了,在带宽有限的今天简直就是一种犯罪,浪费用户的钱财,影响用户的体验嘛!而且ASP.NET属于服务器端编程,不可能会直接编辑最终生成的HTML代码,就算把所有的空格/Tab都去了,也不会带来任何不好的影响的吧!?
 
  基于以上考虑,祭出Reflector,果然发现HtmlTextWriter中有Indent属性控制着缩进大小,而且幸运的是该属性还是public类型的,真是天助我也,花了几分钟时间,捣鼓出如下代码:
 
  1publicclassFilterHtmlTextWriter:HtmlTextWriter
 
  2{
 
  3publicFilterHtmlTextWriter(TextWriterwriter,stringtabString)
 
  4:base(writer,tabString)
 
  5{
 
  6}
 
  7
 
  8publicnewintIndent
 
  9{
 
  10get{return0;}//始终返回0
 
  11set{base.Indent=0;}//始终置0
 
  12}
 
  13}