All articles| All Pictures| All Softwares| All Video| Go home page| Write articles| Upload pictures

Reading number is top 10 articles
用javascript实现页面无刷新更新数据_JavaScript技术_编程技术
用正则表达式过滤脚本的研究(ASP.net)_[Asp.Net教程]
破解网页鼠标右键被禁用的最新方法_JavaScript技术_编程技术
三个SQL视图查出所有SQL Server数据库字典_[SQL Server教程]
Windows,IIS环境下安装和配置PHP开发环境_php资料_编程技术
在ExcuteReader中使用输出参数的问题_[Asp.Net教程]
通过实例学习C#开发中的泛型_.net资料_编程技术
用PHP简易实现中文分词_[PHP教程]
Linux下PHP连接MS,SQLServer的办法_php资料_编程技术
在Web.config配置文件中自定义配置节点_[Asp.Net教程]
Reading number is top 10 pictures
A man's favorite things10
Sora aoi mirror memorial classics2
色狗系列
Small QiShu -- ShuangShuangPan1
Take you to walk into the most true north Korea rural1
Sell the barbecue as says father du breul4
全球清廉国家排行
含苞欲放的素颜美少女1
美丽的少女1
七步解决性冷淡
Download software ranking
天龙八部十二宫服务端
好色的外科大夫
White deer villiage
C#编程思想
Unix video tutorial5
Boxer's Top ten classic battle1
Unix video tutorial20
Take off clothes to survival
jdk1.6 for windows
c#程序设计案例教程
aaa published in(发表于) 2013/12/15 8:54:52 Edit(编辑)
过滤ASP.NET输出HTML中的无用空格_.net资料_编程技术

过滤ASP.NET输出HTML中的无用空格_.net资料_编程技术

过滤ASP.NET输出HTML中的无用空格_.net资料_编程技术-你的首页-uuhomepage.com

刚才“不小心”检查了一下ASP.NET生成的代码,惊讶地发现ASP.NET输出的代码居然如此地不紧凑,在标签之间有无数的空格和制表符(TAB),特别是用了嵌套表格之后,那景象真是惨不忍睹啊,有图为证:


过滤ASP.NET输出HTML中的无用空格
照理说在ASP.NET生成的代码中添加这么多无用的空格/tab可能是为了使生成的HTML代码更具可读性,但是由此带来的问题就是使输出的代码变大了,在带宽有限的今天简直就是一种犯罪,浪费用户的钱财,影响用户的体验嘛!而且ASP.NET属于服务器端编程,不可能会直接编辑最终生成的HTML代码,就算把所有的空格/Tab都去了,也不会带来任何不好的影响的吧!?


基于以上考虑,祭出Reflector,果然发现HtmlTextWriter中有Indent属性控制着缩进大小,而且幸运的是该属性还是public类型的,真是天助我也,花了几分钟时间,捣鼓出如下代码:
1 public class FilterHtmlTextWriter : HtmlTextWriter
2 {
3 public FilterHtmlTextWriter(TextWriter writer, string tabString)
4 : base(writer, tabString)
5 {
6 }
7
8 public new int Indent
9 {
10 get { return 0; } // 始终返回0
11 set { base.Indent = 0; } // 始终置0
12 }
13 }
然后重载页面的Render方法(如果所有页面有公共的基类的话就更好了),加入一行代码,如下:
1 public partial class _Default : System.Web.UI.Page
2 {
3 protected override void Render(HtmlTextWriter writer)
4 {
5 // 替换writer为我们自定义的类
6 writer = new FilterHtmlTextWriter(writer.InnerWriter, "");
7 base.Render(writer);
8 }
9 //
10 }
至此大功告成,让我们重新看看页面的输出,哇塞,讨厌的空格果然变少了@_@,如下图所示:


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





添加到del.icio.us 添加到新浪ViVi 添加到百度搜藏 添加到POCO网摘 添加到天天网摘365Key 添加到和讯网摘 添加到天极网摘 添加到黑米书签 添加到QQ书签 添加到雅虎收藏 添加到奇客发现 diigo it 添加到饭否 添加到飞豆订阅 添加到抓虾收藏 添加到鲜果订阅 digg it 貼到funP 添加到有道阅读 Live Favorites 添加到Newsvine 打印本页 用Email发送本页 在Facebook上分享


Disclaimer Privacy Policy About us Site Map

If you have any requirements, please contact webmaster。(如果有什么要求,请联系站长)
Copyright ©2011-
uuhomepage.com, Inc. All rights reserved.