选择显示字体大小

asp.net控件开发之"代码紧凑原则"

     我们知道制作一个控件,一般比只实现同样功能的模块要复杂,因为我们需要考虑更多的异常和适应性,才能达到我们整合和复用代码的效果。而当我们开发一个asp.net控件时,不管我们的控件有多么复杂的功能和ui表现,我们最终在客户端浏览器里得到的都只是html代码和脚本的组合。
  
   而就是这些控件生成的html代码,它们的格式是不是就可以随意处理呢。那么不能随意又是什么意思?难道我们必须要保证html代码的排版,并保持html良好的层次缩进什么的吗?这里刚刚相反,我们因该尽量去掉和控件html代码没有关系的任何东西,包括"无用的"空格和回车。为什么要强调无用的呢?我们知道浏览器在处理html源代码时,对于其中连续的空格和回车,都是按一个空格来处理并显示的。所以,似乎我们并不用在意asp.net控件在render时,html代码前后或中间多出的无用空格或回车。那么我们来看一下下面这个示例: <img id="analysischart" src="chartpic_000007.jpeg?b9fa64e7-2020-4430-aaf4-b20a51794909" usemap="#usemap_analysischart">
  <map id="usemap_analysischart">
   <area>...<area>
  </map>
  'www.knowsky.com
   上面这个代码片断是dundas web controls中的web chart控件输出的html代码。这个带有hot area的chart图片在使用时似乎没有什么问题,如果就是普通的单独使用这个chart,确实是没有问题。可是当我们把dundas chart组合到自定义的webcontrol中时,它这种带有换行和缩进的html代码就带来问题了。由于布局的需要,我需要把这个chart放入一个表格之中,并让表格显示一个像素的border紧密包围chart。本来这个chart的外观就只是一个图片而已,这样的组合似乎应该没有任何问题,可实际情况是那个chart的图片始终不能撑满外面的表格(如下图),而在图片底部和表格底边上总是有3-4个像素的间隙。而这个间隙就是由于<img />和<map>之间有空格和换行(虽然ie只当它是一个空格)造成的。
  
  
  
  由于dundas web chart是发布的已经编译好的dll,所以要删除它输出的html中无用的空格和回车就变的比较麻烦了。我们只能从它的render流中把html代码取出,然后手动的去掉tags之间的空格和回车,再输出到新控件的输出流中去。这样的方法虽然可以解决一部分问题,可是如果遇到内部控件过于复杂,这时不管在正确性还是效率上就都是额外的负担。
  
   所以从上面的问题我们看出,当我们制作一个asp.net控件时,因该让最后呈现的html代码遵循"代码紧凑原则",以提高控件的适应性。在这样的原则下先前那个示例就应该这样:
  <img id="analysischart" src="chartpic_000007.jpeg?b9fa64e7-2020-4430-aaf4-b20a51794909" usemap="#usemap_analysischart"><map id="usemap_analysischart"><area>...<area></map>
   这样一来chart图片就和包围它的表格边框紧密挨在一起了。
  
    


 


关键字 本文所属关键字

相关 与本文相关文章

分类 所有文章关键字导航

源码编程相关

Java   Asp   PHP   .Net   XML   C/C++   CGI   VB   Jsp   J2ee   J2se   J2me   EJB   Servlet   Tomcat   Resin   Struts   Weblogic   Eclipse   ANT   GUI   JMS   Web servise   IDEA   Webphere   Hibernate   Spring   Jboss   Applet   Swing   Socket   Javamail   Perl   Ajax   P2P   安全   模式   框架   测试   开源   游戏

SQL数据库相关

My-SQL   Ms-SQL   Access   DB2   Oracle   Sybase   SQLserver   索引   存储过程   加密   数据库   分页   视图  

手机无线相关

3G   Wap   CDMA   GRPS   GSM   IVR   彩信   短信   无线   增值业务

网页设计制作相关

HTML   CSS   网页配色   网页特效   Javascript   VBscript   Dreamweaver   Frontpage   JS   Web   网站设计

网站建设推广相关

建站经验   网站优化   网站排名   推广   Alexa

操作系统/服务器相关

Windows XP   Windows 2000   Windows 2003   Windows Me   Windows 9.x   Linux   UNIX   注册表   操作系统   服务器   应用服务器

图形图像多媒体相关

Photoshop   Fireworks   Flash   Coreldraw   Illustrator   Freehand   Photoimpact   多媒体   图形图像

标准 网站致力的规范

Valid CSS!

无不良内容,无不良广告,无恶意代码

Valid XHTML 1.0 Transitional

creativecommons